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

  |   2019年10月26日 |  Wordpress相关 |   评论已关闭 |   60

ad
有需要可以关注公众号:“技术的世界” 分享最新技术教程,解答技术问题,有任何问题在公众号上提问,抽空会尽力解答。 另外想要什么资源,可以回复“资源”或者私信后台,可以获得丰厚的资源包哦

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

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

SELECT COUNT( * ) AS count, MsgType FROM wp_weixin_messages GROUP BY MsgType

如果按照数量排序:

SELECT COUNT( * ) AS count, MsgType FROM wp_weixin_messages GROUP BY MsgType ORDER BY count DESC

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

SELECT COUNT( * ) AS count, MsgType FROM wp_weixin_messages GROUP BY MsgType WITH ROLLUP

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

SELECT COUNT( * ) AS count, IFNULL( MsgType,  'total' ) AS MsgType FROM wp_weixin_messages GROUP BY MsgType WITH ROLLUP

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


本站推荐使用的主机:,国外主机建议使用


转载请注明出处:http://hgop.cn/10681.html

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦