SQL详解group by
程序员文章站
2022-05-03 19:44:11
...
Aggregate 函数常常需要添加 GROUP BY 语句,Aggregate函数也就是常说的聚和函数,也叫集合函数
GROUP BY语句通常与集合函数(COUNT,MAX,MIN,SUM,AVG)一起使用,以按一个或多个列对结果集进行分组。
语法:
select 聚合函数(字段),字段 from 表名 group by 字段
建个表,弄点数,为了方便对照
分组查询银行统计名字相同的有几个
select COUNT(字段) as 个数,字段a from 表名 group by 字段a
其中count 中的字段可以随意填,一般为id
有可能的报错:
只有分组查询的那个字段可以不用聚合函数
可以稍加修改:
分组查询银行,并统计工资总数
与top 一块进行查询
语法:
select top 查询前几行 COUNT(字段) as 个数,字段a from 表名 group by 字段a
与排序 order by 一块
语法: 字段要一致
select top 查询前几行 COUNT(字段) as 个数,字段a from 表名 group by 字段a order by 字段a desc
不一致会出错
与where 字句一块使用
语法: count() 里面没有什么限制,放啥都行
select top 查询前几行 COUNT(0) as 个数,字段a from 表名 where 条件 group by 字段a order by 字段a desc
多表查询
SELECT 表1.name,COUNT(表2.aid) AS nums FROM 表2
inner JOIN 表1
ON 表2.site_id=表1.id
GROUP BY 表1.name;