初学者整理的聚合函数和分组查询!!!

Posted 焉小馒

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初学者整理的聚合函数和分组查询!!!相关的知识,希望对你有一定的参考价值。

聚合函数(分组查询)group by 字段

  1. 分组之后查询的字段:分组字段,聚合函数

  2. 分组之后查询的字段:分组字段,聚合函数

  3. where 和 having 之间的区别;
    - where在分组之前限定,如果不满足条件,则不参与分组。
    - Having在分组之后限定,如果不满足结果,则不会被查询出来B.where后不可以跟聚合函数,having可以进行聚合函数的判断
    示例:select avg(math),count(id) /人数,from stu where math > 70 group by sex having count(id)/人数 > 2;

  4. 什么是分组查询?
    就是将查询结果按照1个或多个字段进行分组,字段值相同的为一组其实就是按照某一列进行分类
    示例:SELECT gender from employee GROUP BY gender;

  5. 区别:
    group by + having

    • 用来分组查询后制定一些条件来输出查询结果
    • having的作用和where一样,但having只能用于group
    • 示例:查询工资总和大于9000的部门名称以及工资总和
      SELECT department,
      GROUP_CONCAT(salary),SUM(salary) FROM employeeGROUP BY department HAVING SUM(salary) > 9000;

    having和where的区别
    - having是在分组后对数据进行过滤
    - where是在分组前对数据进行过滤
    - having后面可以使用分组函数(统计函数)
    - where后面不可以使用分组函数
    - where是对分组前记录的条件,如果是某行记录没有满足where子句的条件,那么这行记录不会参加分组;而having是对分组后数据的约束

以上是关于初学者整理的聚合函数和分组查询!!!的主要内容,如果未能解决你的问题,请参考以下文章

Django聚合函数与分组查询

十MySQL 聚合函数分组查询及过滤分组

十MySQL 聚合函数分组查询及过滤分组

Django 09-1模型层 查询(分组聚合)

django 中的聚合函数,分组函数,F 查询, Q查询

聚合函数和分组查询(有宝藏)