分组查询:
关键字:group by
可以将查询结果分组,并返回行的汇总信息
注意:
1.出现在select后面的字段 要么是是聚合函数中的,要么就是group by 中的
2.要筛选结果 可以先使用where 再用group by 或者先用group by 再用having
解释:
1.where 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,
条件中不能包含聚合函数,使用where条件显示特定的行
2.having 子句得的作用是筛选满足条件的组,即在分组之后过滤数据,可以使用聚合函数
例子:
查询每个部门中薪水最高的人的信息(这里不展示having的使用方法,大家可以自行百度)
薪水表:salary_table
部门表:employee_table
sql :
分析:
1.首先我们先要查询出各个部门最高的薪水是多少
2.然后根据查询出的最高薪水,查找出对应的人,并进行分组。(个人见解,如果有误,概不负责)