• 详解GROUP BY 如何与 SELECT 语句进行交互?


    SELECT 列表:

    矢量聚合。如果 SELECT 列表中包含聚合函数,则 GROUP BY 将计算每组的汇总值。这些函数称为矢量聚合。

    Distinct 聚合。ROLLUP、CUBE 和 GROUPING SETS 支持聚合 AVG (DISTINCT column_name)、COUNT (DISTINCT column_name) 和 SUM (DISTINCT column_name) 。

    WHERE 子句:

    执行任何分组操作之前,SQL 会删除不满足 WHERE 子句中条件的行。

    SELECT column_name, aggregate_function(column_name)
    FROM table_name
    WHERE column_name operator value
    GROUP BY column_name;

    HAVING 子句:

    SQL 使用 having 子句来筛选结果集内的组。

    SELECT column_name, SUM(column_name1) AS column_name_1
    FROM table_name
    GROUP BY column_name
    HAVING column_name > 10   

    ORDER BY 子句:

    使用 ORDER BY 子句可以对结果集进行排序。GROUP BY 子句不能对结果集进行排序。

    SELECT column_name, SUM(column_name1) AS column_name_1
    FROM table_name AS table_name_1
    GROUP BY column_name
    ORDER BY column_name;

    NULL 值:

    如果组合列包含 NULL 值,则所有的 NULL 值都将被视为相等,并会置入一个组中。


    GROUP BY和SELECT的一些总结:

    如果在有group by的SQL操作中,select后面显示的结果集字段只有两种: 要么就只有group by后出现的字段,要么就是group by后出现的字段 + 聚合函数的组合(常用的五种聚合函数: min()求列中最小值 , max()求列中最大值 , avg()求平均值 , sum()求列中字段对应数值的总和 , count()求列的总条数)。

      

  • 相关阅读:
    [docker]Kubernetes的yaml文件
    [redis]redis-cluster的使用
    [redis]redis-cluster搭建
    [docker]本地仓库的创建的使用
    1W字看懂互联网知识经济
    PHP基础陷阱题(变量赋值)
    PHP不用第三变量交换2个变量的值的解决方法
    PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析
    PHP实现四种基本排序算法
    WEB安全之Token浅谈
  • 原文地址:https://www.cnblogs.com/since-1995/p/15129636.html
Copyright © 2020-2023  润新知