首页 > 技术文章 > Mysql-分组和聚合函数

onlyzc 2018-02-05 12:07 原文

1、MySQL分组

  1.1 group by 语法可以根据给定字段对查询结果进行分组统计,相同属性的数据为一个组。通常,在每组中通过聚合函数来可以计算组中最大,最小等。

      如果group by带有having,则只有满足having后面的条件的组才能输出。

      注意: having 必须在group by之后。

 

2、与分组相关的聚合函数

    count 返回某个字段的值的行数

            max   求最大某字段最大的值

    min   求某字段最小值

    avg   返回某字段平均值

    sum  求某字段总和

      group_concat 将分组的结果拼接成字符串


3、 group by 语法

    select 字段 from 表名 where where条件 group by 分组条件 having having条件 order by 字段 asc/desc limit offset, row

    注意:
    1. GROUP BY 必须出现在WHERE 之后,ORDER BY 之前。
    2. 除聚集计算语句外,SELECT语句中的每个列都必须在GROUP BY中给出。
     

             举例:
     错误,由于name字段没有写到group by之后
     select count(id),name,sex from user group by sex;

     正确写法
     select count(id),name,sex from user group by sex,name;

 

    备注:

     group by 用于根据字段进行分组

     having 指定分组的搜索条件,对分组的结果做进一步的处理

     limit 显示查询出来的数据条数

 

推荐阅读