Mysql Group by

Group by

Group by需要结合聚合函数: sum  count  avg  max min...

函数作用
sum(列名) 求和
max(列名) 最大值
min(列名) 最小值
avg(列名) 平均值
count(列名) 统计记录数

示例1:求各组平均值

select 类别, avg(数量) AS 平均值 from A group by 类别;

示例2:求各组记录数目

select 类别, count(*) AS 记录数 from A group by 类别;

Having对聚合条件进行过滤

Having与Where的区别

  • where 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,where条件中不能包含聚组函数,使用where条件过滤出特定的行。
  • having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having 条件过滤出特定的组,也可以使用多个分组标准进行分组。

示例1: Having

select 类别, sum(数量) as 数量之和 from A
group by 类别
having sum(数量) > 18

示例2:Having和Where的联合使用方法

select 类别, SUM(数量)from A
where 数量 gt;8
group by 类别
having SUM(数量) gt; 10

 






posted @ 2017-04-02 10:52  Vincen_shen  阅读(129)  评论(0)    收藏  举报