前言:
如今朋友们对“mysql中分组查询的功能是什么”可能比较关怀,各位老铁们都想要分析一些“mysql中分组查询的功能是什么”的相关知识。那么小编也在网络上汇集了一些关于“mysql中分组查询的功能是什么””的相关内容,希望兄弟们能喜欢,大家快快来了解一下吧!分组查询
语法:
select 分组函数,列(要求出现在group by的后面) from表
[where筛选条件]
group by分组的列表
[order by子句]
注意:
查询列表必须特殊,要求是分组函数和group by后出现的字段
1、分组查询中的筛选条件分为两类
数据源
位置
关键字
分组前筛选
原始表
group by子句的前面
where
分组后筛选
分组后的结果集
group by子句的后面
having
①分组函数做条件肯定是放在having子句中
②能用分组前筛选的,就优先考使用分组前筛选
2、group by子句支持单个字段分组,多个字段分组(多个字段之间用逗号隔开没有顺序要求),表达式或函数(用得较少)
3、也可以添加排序(排序放在整个分组查询的最后)
案例:
name
sex
age
subject
score
张三
男
15
语文
80
李四
女
15
语文
85
王二
男
16
语文
65
张三
男
15
英语
86
李四
女
15
英语
77
王二
男
16
英语
56
张三
男
15
数学
98
李四
女
15
数学
76
王二
男
16
数学
54
表名:student
分组查询简单应用
查询每个科目的最高分
select subject,max(score) from student
group by subject
添加分组前查询
查询语文的最高分
select subject,max(score) from student
where subject ='语文'
group by subject
添加分组后查询
查询英语成绩及格中的最低分
select subject,min(score) from student
where subject ='英语'
group by subject
having min(score)>=60
按多个字段分组
查询语文最高分的学生基本信息
select name,sex,age,subject,max(score) from student
where subject ='语文'
group by subject
添加排序
查询每个科目的平均分,并按升序排序
select subject , avg(score) from student
group by subject
order by avg(score)
标签: #mysql中分组查询的功能是什么