group by
程序员文章站
2022-03-09 08:41:12
...
having和where一样都是筛选条件的,where分组前筛选,having是分组后筛选
在select指定的字段要么就要包含在Group By语句的后面,作为分组的依据;要么就要被包含在聚合函数中。
1.从表table中查找所有name,并按name进行分组。分组就是将一个“数据集”划分成若干个“小区域”,然后针对若干个“小区域”进行数据处理。
select name from stu GROUP BY name
2.按name对表table进行分组后,查找最小score大于80分的name。一个name里面有很多门科目,每门科目的分数都要大于50分,即查询每门课程分数都大于50的学生姓名
select name from stu GROUP BY name having min(score) >50
3.查找只要有一门分数大于50的学生,按照name进行分组
select name from stu where score > 50 GROUP BY name
4.查询每门课程分数都大于60 的学生信息
select * from stu where name in (select name from stu group by name having min(score)>60)
推荐阅读
-
mysql中order by与group by的区别
-
详细介绍MySQL Group Replication[Single-Primary Mode]的搭建部署过程
-
Mysql 简单的命令语句续-*,as,group by,order by,group by,havin_MySQL
-
mysql中group by留下的数据是哪一条
-
mysql GROUP BY 与 ORDER BY 查询不是最新记录_MySQL
-
mysql使用GROUP BY分组实现取前N条记录的方法
-
mysql group_concat()函数用法总结
-
MySQL统计函数GROUP_CONCAT使用陷阱分析
-
MySQL中group_concat函数深入理解
-
mysql分组取每组前几条记录(排名) 附group by与order by的研究