zoukankan      html  css  js  c++  java
  • 16-MySQL-Ubuntu-数据表的查询-分组与聚合(五)

    分组(group by)一般与聚合结合使用

    (1)查询按性别分组

    select gender from students group by gender;

    (2)查询按性别分组并统计每组的数量
    select gender,count(*) from students group by gender;

    (3)查询按性别分组并统计每组的最大年龄
    select gender,max(age) from students group by gender;

    (4)查询男性的总数

    select count(*) from students where gender=1;

    (5)查询男性的总数(不推荐使用,不是标准的SQL语句)
    select gender,count(*) from students where gender=1;

    (6)查询男性的性别字段
    select gender from students where gender=1;

    (7)查询男性的总数(推荐,标准SQL语句,group by 以性别分组 ,其中性别才是每组的label)
    select gender,count(*) from students where gender=1 group by gender;

    (

    group_concat()用于描述每个分组内成员的信息;

    having位于group by之后,后面是限定每个分组的条件,这些条件将以每个组看作单个元素,所以条件采用聚合函数.

    注意区分having与where,虽然两者后面都跟限定条件,但是限定的元素却不同

    )

    (8)查询分组后每组平均年龄大于15的组别并输出每组成员的姓名,年龄,ID及其平均年龄;

    select gender,group_concat(name,' ',age,' ',ID),avg(age) from students  group by gender having avg(age)>15;

    (9)查询分组后每组平均年龄大于15的组别并输出每组成员的姓名,年龄,ID及其平均年龄;

    select gender,group_concat(name,' ',age,' ',ID) from students group by gender having count(*)>2;

  • 相关阅读:
    SQL关键字的执行顺序
    StructuredStreaming基础操作和窗口操作
    StructuredStreaming简单的例子(NewAPI)
    StructuredStreaming(New)
    StructuredStreaming编程模型
    SparkStreaming简单例子(oldAPI)
    SparkStreaming架构
    Storm与SparkStreaming对比
    SparkStreaming-DStream(Discretized Stream)
    史上最全的java随机数生成算法分享(转)
  • 原文地址:https://www.cnblogs.com/summer1019/p/11033183.html
Copyright © 2011-2022 走看看