题解 | #查找薪水记录超过15次的员工号emp_no以及其对应的记录次数t#
查找薪水记录超过15次的员工号emp_no以及其对应的记录次数t
http://www.nowcoder.com/practice/6d4a4cff1d58495182f536c548fee1ae
select emp_no, count(emp_no) as t //要返回什么// from salaries//从哪里获得数据// group by emp_no//分组// having t >15;//条件//
count()计数函数,记下emp_no出现的次数。
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条件显示特定的组,也可以使用多个分组标准进行分组。