MYSQL之Group By

向右看齐 2022-05-05 14:00 297阅读 0赞

概述

Group By即根据其指定的规则对查询数据进行分组,这个分组的意义是对分组内数据进行数据处理,包括SUM、COUNT等等。
这里需要注意的是:Select ... Group By xxx的查询结果中只能包含两种数据:由Group BY指定的分组依据字段,以及数据处理的结果。如下:

  1. Select userId, SUM(score) as sumScore
  2. From grade
  3. Group By userId

数据处理

Group By通常是和聚合函数一起使用的,也就是上面所说的数据处理。常见的聚合函数如下:




































序号 函数 描述
1 sum(列名) 求和
2 max(列名) 最大值
3 min(列名) 最小值
4 avg(列名) 平均值
5 count(列名) 统计,注意与count(*)的区别

Example

表grade












































































id user_id score course class
1 1 56 数学 1
2 3 78 数学 1
3 1 97 语文 1
4 4 88 数学 2
5 3 67 语文 1
6 3 99 英语 1
7 1 44 英语 1
8 4 97 语文 2
9 4 58 英语 2
  1. # SQL
  2. SELECT class, SUM(score) from grade GROUP BY class
  3. # 执行结果
  4. class sum(score)
  5. 1 441
  6. 2 243
  7. # 多分组依据字段
  8. SELECT class, userId, SUM(score) from grade GROUP BY class, userId
  9. # 执行结果
  10. class user_id SUM(score)
  11. 1 1 197
  12. 1 3 244
  13. 2 4 243

总结

Group By通常是和聚合函数SUM()COUNT()等一起使用的,所返回的结果除了聚合查询结果外,只能加上分组依据字段。同时,分组依据字段可以是多个,由这被指定的多个字段确定其分组。

发表评论

表情:
评论列表 (有 0 条评论,297人围观)

还没有评论,来说两句吧...

相关阅读

    相关 MySQL GROUP BY

    1. 只会返回分组后的一条结果,但是实际上里面含有的结果不仅有一条 \\![加粗样式][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow

    相关 MYSQLGroup By

    概述 `Group By`即根据其指定的规则对查询数据进行分组,这个分组的意义是对分组内数据进行数据处理,包括SUM、COUNT等等。 这里需要注意的是:`Selec

    相关 mysql group by order by

    这两天让一个数据查询难了。主要是对group by 理解的不够深入。才出现这样的情况 这种需求,我想很多人都遇到过。下面是我模拟我的内容表 复制代码 代码如下: