分组数据:group by 子句将表中的数据分红若干组
分组查询的特色:
分组查询中的筛选条件分为两类:web
数据源 | 位置 | 关键字 | |
---|---|---|---|
分组前筛选 | 原始表 | group by子句前 | where |
分组后筛选 | 分组后的结果集 | group by子句后 | having |
1.分组函数作条件确定是放在having子句中 2.能用分组前筛选的,优先考虑使用分组 3.group by子句支持单个字段分组,多个字段分组(多个字段之间用逗号隔开,没有顺序要求) 4.也能够添加排序,排序放在整个分组查询的最后
select 分组函数,列(要求出如今group by的后面) from 表 [where条件] group by 分组的列表 [order by 子句]
查询列表必须特殊,要求是分组韩式和group by后出现的字段svg
举例:
分组查询某字段的平均值:
select avg(某字段1),某字段2 from 表名 group by 某字段2;函数
添加筛选条件的分组查询(分组前):
select avg(某字段1),某字段2 from 表名 where 条件1 group by 某字段2;code
添加筛选条件的分组查询(分组后):
select count(*) ,某字段1 from 表名 group by 某字段1 having 条件;xml
按表达式或函数分组:
select 分组函数1,分组函数2 from 表名 group by 分组函数2;排序
按多个字段进行分组:
select 分组函数 ,字段1,字段2 from 表名 group by 字段1,字段2;it