zoukankan      html  css  js  c++  java
  • MySQL中使用group by分组查询

    group by 表示根据指定字段进行分组查询

    1.什么时候使用group by?

    group by 一般是和聚合函数一起使用的

    ps:常用聚合函数

    count() 计数  sum() 求和  avg() 平均数  max() 最大值  min() 最小值

    2.筛选结果使用where和group by ,表示先执行where条件筛选后再进行分组

    注意:where语句中不能使用聚合函数

    SQL语句的执行顺序是:

    from-->where-->group by -->having --> select--- >order by;

    首先我们知道像SUM()、AVG()、MAX()等等的聚合函数,是对结果进行筛选的,在FROM之后,我们只得到这张表,如果对这张表进行聚合筛选后,那么接下来的GROUP BY该怎么办呢?GROUP BY是对表进行分组的,但是你都已经WHERE筛选完了,还怎么分组,所以矛盾,所以不能在WHERE中使用聚合函数!

    聚集函数也叫列函数,它们都是基于整列数据进行计算的,而where子句则是对数据行进行过滤的,在筛选过程中依赖“基于已经筛选完毕的数据得出的计算结果”是一种悖论,这是行不通的。更简单地说,因为聚集函数要对全列数据时行计算,因而使用它的前提是:结果集已经确定!

    3.筛选结果先用group by和having,表示having是对group by分组结果进行筛选

    4.group by可以使用多个字段分组

  • 相关阅读:
    软件技术文档撰写要求
    UML需求分析步骤实例解析
    sql 操作重复数据集合
    cookie无法读取的问题
    软件开发中,这些文档你用到了吗?
    软件测试报告[样本]
    一个软件设计的全过程(基于UML)
    命令 状态 职责链 三种模式之间的异同
    PHP的MVC实现(3)
    怎么样整理有用的资料?
  • 原文地址:https://www.cnblogs.com/heyongzhen/p/13921528.html
Copyright © 2011-2022 走看看