SQL --------------- GROUP BY 函数

Aggregate 函数经常须要添加 GROUP BY 语句,Aggregate函数也就是常说的聚和函数,也叫集合函数函数

GROUP BY语句一般与集合函数(COUNT,MAX,MIN,SUM,AVG)一块儿使用,以按一个或多个列对结果集进行分组。spa

语法:code

select 聚合函数(字段),字段  from 表名 group by  字段

建个表,弄点数,为了方便对照blog

 

 

 分组查询银行统计名字相同的有几个排序

select COUNT(字段) as 个数,字段a from 表名 group by 字段a

其中count 中的字段能够随意填,通常为idrem

 

 

有可能的报错:get

只又分组查询的那个字段能够不用聚合函数it

 

 

 能够稍加修改:class

分组查询银行,并统计工资总数test

 

 

 与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;

 

 

select * from obgetest 
--  分组查询 银行,,其中名字是 obge 的有两个
select COUNT(Gids) as 个数,Bank from obgetest group by Bank

---  能够看出,多个字段时,只有须要分组查询的那个字段能够不用使用聚合函数
select COUNT(Gids)as 个数,Bank,Gongzi from obgetest group by Bank

-- 能够修改成分组查询银行,并统计工资总总数
select COUNT(Gids)as 个数,Bank,sum(Gongzi)as 总数 from obgetest group by Bank

--  与top 一块查询,count 里面放入bank 字段和 gids 字段的做用一致
select top 5 COUNT(Bank) as 个数,Bank from obgetest group by Bank

--  与order by 一块,分组查询工资相同个数, 并按照倒序排列,查前5 行
-----  必定要注意 排序的字段和分组字段要一致
select top 5 COUNT(rem) as 个数,Gongzi from obgetest group by Gongzi order by Gongzi desc
---  有错误
select top 5 COUNT(rem) as 个数,Gongzi from obgetest group by Gongzi order by Gids desc

----   与where字句   注意语法位置
select  COUNT(0) as 个数,Gongzi from obgetest where Gongzi > 1000 group by Gongzi order by Gongzi desc
相关文章
相关标签/搜索