查找薪水记录超过15条的员工号emp_no以及其对应的记录次数t
知识点
where 和having 用法:
1、where、聚合函数、having在from后面的执行顺序:where>聚合函数(sum,min,max,avg,count)>having
2、若引入聚合函数来对group by结果进行过滤,则只能用having
3、having语句通常与group by语句联合使用,用来过滤由group by语句返回的记录集。
4、having语句的存在弥补了where关键字不能与聚合函数联合使用的不足
5、where子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。
6、having子句的作用筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having条件显示特定的组,也可以使用多个分组标准进行分组。
题目
请你查找薪水记录超过15条的员工号emp_no以及其对应的记录次数t,以上例子输出如下:
emp_no | t |
---|---|
10001 | 16 |
解
select emp_no, count(distinct salary) t
from salaries
group by emp_no
having t > 15;
文章评论