• 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;

  • 相关阅读:
    2019年春季第四周作业
    第三周作业
    第二周作业
    最大值及其下标
    查找整数
    PTA3
    币值转换
    三位老师
    自我介绍
    poj 3278 Catch That Cow(bfs)
  • 原文地址:https://www.cnblogs.com/huanggy/p/9493308.html
Copyright © 2020-2023  润新知