count统计不为空的行数
如果要查询每个部门的状况,需要分别查询每个部门,如下图很麻烦,于是有了分组查询
分组函数一般搭配着分组查询使用;
上面这么写是错的,因为where执行在select前面,他不认识count(*)
分组后的筛选用HAVING
分组前的筛选就是筛选条件在分组groupby前,这时他只认识原始的那些列
为了区分分组前的筛选和分组后,分组前用where,分组后用having
总结:一定要清楚执行顺序!
count统计不为空的行数
如果要查询每个部门的状况,需要分别查询每个部门,如下图很麻烦,于是有了分组查询
分组函数一般搭配着分组查询使用;
上面这么写是错的,因为where执行在select前面,他不认识count(*)
分组后的筛选用HAVING
分组前的筛选就是筛选条件在分组groupby前,这时他只认识原始的那些列
为了区分分组前的筛选和分组后,分组前用where,分组后用having
总结:一定要清楚执行顺序!