zoukankan      html  css  js  c++  java
  • Mysql 分组

    默认显示第一条,单独使用意义并不大

    1,分组查询全部数据

    SELECT 后面的字段一般 GROUP BY 后面也会出现,分组展示数据(会展示所有数据,而不是默认第一条)

    # 按性别分组展示学生姓名
    SELECT name,gender from students GROUP BY gender,name

    2,GROUP BY + GROUP_CONCAT()

    GROUP_CONCAT(字段名)将作为输出字段,可以指定别名,值是每一组的某字段值的集合,用逗号隔开(有几个组就展示几条数据)

    # 按性别展示所有学生姓名
    SELECT gender,GROUP_CONCAT(name) AS stu_name  from students GROUP BY gender

    3,GROUP BY + 聚合函数

    和 GROUP BY + GROUP_CONCAT() 类似

    # 按性别展示学生分数总和和姓名
    SELECT gender,GROUP_CONCAT(name) AS stu_name,SUM(score) AS stu_score_total from students GROUP BY gender

    4,HACING

    效果和 WHERE 基本一样,HAVING 只能用在分组之后,WHERE 只能用在分组之前;HAVING 后面可以使用聚合函数,WHERE 不可以

    # 按部门性别展示学生分数总和,求出总分数大于 200 的性别
    SELECT gender, SUM(score) FROM students GROUP BY gender HAVING SUM(score) > 200;

  • 相关阅读:
    0x02 枚举、模拟、递推
    0x01 位运算
    bzoj3529: [Sdoi2014]数表
    bzoj5216: [Lydsy2017省队十连测]公路建设
    POJ1789Truck History
    最小生成树模板
    POJ1258Agri-Net
    POJ1860Currency Exchange(SPFA)
    POJ3083Children of the Candy Corn
    POJ2503Babelfish
  • 原文地址:https://www.cnblogs.com/huanggy/p/9493308.html
Copyright © 2011-2022 走看看