mysql之group by字句

GROUP BY 子句用于根据指定列的值对数据进行分组,常与聚合函数一起使用。它可以实现多级分组,与ORDER BY结合使用进行排序。HAVING子句则用于对分组后的结果进行过滤。文章通过多个示例展示了GROUP BY的不同用法,包括与ORDER BY的合并、WITH ROLLUP的使用,以及HAVING子句的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

group by 字句

GROUP BY 子句根据给定列或者表达式的每一个不同的值将表中的行分成不同的组。使用组函数返回每一组的统计信息
分组的字句,用于对指定列进行分组
可以实现大组再分小组的操作
例3: 统计每个球队中每个球员所赢得的总局数
SELECT teamno, playerno, sum(won)
FROM matches
GROUP BY teamno, playerno;
在这里插入图片描述
带有排序的分组
如果分组列和排序列相同,则可以合并group by和order by子句
例6: 得到每个球队的编号和比赛总场数,结果按球队编号降序排序
SELECT teamno, count()
FROM matches
GROUP BY teamno
ORDER BY teamno DESC;

可以把desc(或者asc)包含到group by子句中简化
SELECT teamno, count(
)
FROM matches
GROUP BY teamno DESC;
在这里插入图片描述
例如:
查看每只球队每个球员的获胜次数
group by也可以使用函数
group by 和order by可以

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值