zoukankan      html  css  js  c++  java
  • SQL分组查询

      把数据分成多个逻辑组,以便能对每个组的数据进行操作,对每个组进行聚集计算。

    1.创建分组

    分组是在SELECT语句的GROUP BY子句中建立的

    例子:

            SELECT vendId,count(*) AS numProds FROM products GROUP BY vendId;

    GROUP BY子句指示分组数据,然后对每个组而不是整个数据集进行聚集。

    GROUP BY的一些注意事项:

    【1】在建立分组时,指定的所有列都一起计算,不能从个别列取回数据

    【2】如果分组列中有NULL值,则NULL将作为一个分组返回,如果劣种有多行NULL值,他们将分为一组。

    【3】GROUP BY子句必须出现在WHERE子句之后,ORDER BY子句之前。

    2.过滤分组

    【1】HAVING子句过滤

    例子:

    SELECT custId,count(*) AS orders FROM orders GROUP BY custId HAVING count(*)>=2;

    HAVING子句将过滤计数为2或大于2的分组

     

    3.分组排序

       一般使用GROUP BY子句时,也要使用ORDER BY子句,这是保证数据正确排序的唯一方法。

    使用ORDER BY子句排序数据

    例子:

    SELECT orderId,sum(quantity*itemPrice) AS orderTotal FROM orderItems GROUP BY orderId

    HAVING sum(quantity*itemPrice)>50

    ORDER BY oredrTotal;

    HAVING子句过滤数据,ORDER BY子句进行排序输出

  • 相关阅读:
    Document
    Document
    Document
    Document
    Document
    Document
    手动版 轮播图
    Echarts tooltip 自定义formatter设置字体颜色
    CSS3中 translate、transform 和 translation 的区别和联系,及开发问题解决
    background 属性及遇到的问题
  • 原文地址:https://www.cnblogs.com/weihanli/p/3446649.html
Copyright © 2011-2022 走看看