前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SQL 在使用 GROUP BY 进行归类汇总的时候直接获取总数

SQL 在使用 GROUP BY 进行归类汇总的时候直接获取总数

作者头像
Denis
发布2023-04-15 10:43:51
1.7K0
发布2023-04-15 10:43:51
举报
文章被收录于专栏:WordPress果酱

SQL 中我们一般使用 GROUP BY 进行归类汇总,比如微信机器人高级版对消息类型中进行汇总的 SQL 为:

代码语言:javascript
复制
SELECT COUNT( * ) AS count, MsgType FROM wp_weixin_messages GROUP BY MsgType

如果按照数量排序:

代码语言:javascript
复制
SELECT COUNT( * ) AS count, MsgType FROM wp_weixin_messages GROUP BY MsgType ORDER BY count DESC

如果要计算每种类型的比例,又要使用一条新的 SQL 到数据库里面查询一次,有没有办法在使用 GROUP BY 进行归类汇总的时候直接获取总数,查询了下 MySQL 的说明文档,我们可以使用 WITH ROLLUP。

代码语言:javascript
复制
SELECT COUNT( * ) AS count, MsgType FROM wp_weixin_messages GROUP BY MsgType WITH ROLLUP

这样获取的一个字段就是总数,但是名称(MsgType)为 null,我们把他设置为 total。

代码语言:javascript
复制
SELECT COUNT( * ) AS count, IFNULL( MsgType,  'total' ) AS MsgType FROM wp_weixin_messages GROUP BY MsgType WITH ROLLUP

但是使用 WITH ROLLUP 有个不好的地方,不能在进行 ORDER BY 了。


本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档