group by用法

问了讯飞星火这是给的解释:
在MySQL中,GROUP BY子句用于将具有相同值的行组合在一起,以便对每个组执行聚合函数(如SUM、COUNT、AVG等)。

我的理解,

1,就是在一堆数据中将含有共同特性(表中的某个相同字段)的数据分到同一组放到一起,然后算他们的数量什么的,

2,为什么select的时候只能取group by后面的字段,
因为你是按照某个共同点放到一起的,不是group by的字段:
拿快递分仓举例,按省份分成一堆一堆的,你想知道每一堆是哪个省的,那很容易,因为你分堆的时候就是按省份分的,但你想知道快递的重量就不行了,因为这一堆中的重量都不一样,
但你分堆的时候,你将省份一样且重量一样的分组,那你就能知道每一堆每个快递的省份和重量,
select 省份,重量 from 快递库 group by 快递的省份,快递的省份重量

以下是一个使用GROUP BY的基本示例:

以全班学生各科成绩表为例,通过group by 算出每个学生总分

student_id  name subject score
1,袁大蒜 语文 100
2,胡图图 语文 99
1,袁大蒜 数学 100
4,袁云起 语文 98
4,袁云起 数学 98
1,袁大蒜 英文 100
1,袁大蒜 物理 100
1,袁大蒜 化学 100

SELECT name, SUM(score) as total_score
FROM students
GROUP BY name;

结果:
name    sum(score)
袁大蒜 500
胡图图 99
袁云起 196

为什么俩例子不一样,因为快递分堆是刚想的,成绩表例子是之前写的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

见未见过的风景

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值