• SQL 必知必会·笔记<8>分组数据


    1. 使用GROUP BY子句创建分组

    示例:

    SELECT vend_id, COUNT(*) AS num_prods
    FROM Products
    GROUP BY vend_id;

    注意

    • GROUP BY 子句可以包含任意数目的列,因而可以对分组进行嵌套,更细致地进行数据分组。
    • 如果分组列中包含具有NULL 值的行,则NULL 将作为一个分组返回。如果列中有多行NULL 值,它们将分为一组。
    • GROUP BY 子句必须出现在WHERE 子句之后,ORDER BY 子句之前。

    2. 使用HAVING过滤分组

    除了能用GROUP BY 分组数据外,SQL 还允许过滤分组,规定包括哪些 分组,排除哪些分组

    示例:

    SELECT cust_id, COUNT(*) AS orders
    FROM Orders
    GROUP BY cust_id
    HAVING COUNT(*) >= 2;

    说明:HAVING 和WHERE 的差别

    WHERE 在数据分组前进行过滤,HAVING 在数 据分组后进行过滤。这是一个重要的区别,WHERE 排除的行不包括在 分组中。这可能会改变计算值,从而影响HAVING 子句中基于这些值 过滤掉的分组。

    3. 分组和排序

    提示:不要忘记ORDER BY

    一般在使用GROUP BY 子句时,应该也给出ORDER BY 子句。这是保 证数据正确排序的唯一方法。千万不要仅依赖GROUP BY 排序数据。

    4. SELECT 子句顺序

  • 相关阅读:
    各种有趣vbs,bat脚本
    weblogic ssrf 漏洞笔记
    jboss反序列化漏洞实战渗透笔记
    脏牛提权
    Bugku-cms1
    通过Tomcat Manager拿shell
    【转】网站渗透入侵常见谷歌黑客语法总结
    【转】AWVS扫描小技巧
    学习笔记
    三栏布局那些事儿
  • 原文地址:https://www.cnblogs.com/IPrograming/p/3280979.html
Copyright © 2020-2023  润新知