zoukankan      html  css  js  c++  java
  • 数据库系列之查询(3)

    什么是分组统计


    按水果的种类分组,然后分别汇总

    语法


    SELECT   <字段列表>   [聚合函数]
    FROM  表
    [WHERE]  条件
    GROUP BY  <字段列表>
    其中<字段列表>可以有多个字段,各字段用逗号隔开,它表示按哪些列进行分组。
    分组统计牢记:SELECT语句中除聚合函数外,所有列应写在Group By语句后面,否则将出现错误。

    示例


    统计结果集应包含“城市、性别和人数3列信息”。
    很明显应该按照City和Sex两列进行分组。
    分组后仍使用Count()聚合函数汇总行数。

    SELECT  City as 城市, Sex as 性别, Count(*)  as 人数 
    FROM Customers 
    Group By City, Sex

    使用HAVING子句对分组结果再次过滤
    继续考虑上面的查询,如果“要统计不同城市不同性别的会员个数,并且只显示会员个数大于2个的记录”如何处理呢?
    需要对分组后的数据进行筛选,  筛选条件Count(*) >=2。
    对分组后的数据进行筛选需要使用Having子句。

    SELECT  City as 居住城市, Sex as 性别, Count(*)  as 会员人数 
    FROM Customers
    Group By City, Sex
    HAVING Count(*) >= 2

    分组查询的过滤

    WHERE子句:
    从数据源中去掉不符合其搜索条件的数据
    GROUP BY子句:
    搜集数据行到各个组中,统计函数为各个组计算统计值
    HAVING子句:
    去掉不符合其组搜索条件的各组数据行
    where -> group by -> having

  • 相关阅读:
    Kudu-Impala集成特性
    [转]IIS的各种身份验证详细测试
    [转]The NTLM Authentication Protocol and Security Support Provider
    [转]WxEmojiView
    [转]Redis 数据类型
    [转]a-mongodb-tutorial-using-c-and-asp-net-mvc
    [转]MongoDB 概念解析
    [转]flash.net.Socket
    [转]emailjs-smtp-client
    [转]jquerUI Dialog中隐藏标题栏的关闭"X"按钮
  • 原文地址:https://www.cnblogs.com/cmhunter/p/4278957.html
Copyright © 2011-2022 走看看