首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >SQL 在使用 GROUP BY 进行归类汇总的时候直接获取总数

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

作者头像
Denis
发布于 2023-04-15 02:43:51
发布于 2023-04-15 02:43:51
1.9K00
代码可运行
举报
文章被收录于专栏:WordPress果酱WordPress果酱
运行总次数:0
代码可运行

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT COUNT( * ) AS count, MsgType FROM wp_weixin_messages GROUP BY MsgType

如果按照数量排序:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT COUNT( * ) AS count, MsgType FROM wp_weixin_messages GROUP BY MsgType ORDER BY count DESC

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT COUNT( * ) AS count, MsgType FROM wp_weixin_messages GROUP BY MsgType WITH ROLLUP

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
SQL 从入门到放弃:ROW_NUMBER() OVER 和 ROLLUP
提起 SQL,(从前的)我脑子只有 SELECT、COUNT()、SUM()、JOIN、GROUP BY 等云云。对于较为复杂的数据场景,总是绞尽脑汁的用 GROUP BY 和 JOIN 来实现,却不知有类似功能的 SQL 函数。
小草学习屋
2023/11/22
6440
ClickHouse SQL 的十项优化规则
众所周知,ClickHouse 的 SQL 优化规则是基于RBO(Rule Based Optimization)的,那么你知道都有哪些优化规则吗 ?
Nauu
2021/07/07
3.7K0
5分钟搞懂MySQL - 行转列
  这里如果不使用SUM()会报sql_mode=only_full_group_by相关错误,需要聚合函数和group by连用或使用distinct才可以解决。
码农编程进阶笔记
2022/08/18
1.7K0
5分钟搞懂MySQL - 行转列
Hive 入门 Group By 全案例【附代码】
单个字段,比如 schema_id, type_desc 用来指定细分的单个字段;
Lenis
2019/12/25
1.1K0
Hive 入门 Group By 全案例【附代码】
牛客-SQL练习
题目地址:查找学校是北大的学生信息_牛客题霸_牛客网 (nowcoder.com)
小简
2023/01/04
2.5K0
HAWQ取代传统数仓实践(十九)——OLAP
本文介绍了 Zeppelin 是什么、能做什么,以及 Zeppelin 的特性、组件和扩展。主要内容包括:Zeppelin 是基于 Apache Spark 的开源大数据可视化分析平台,支持交互式查询、实时数据可视化和机器学习等功能。Zeppelin 的特性包括支持多种数据源、提供交互式查询、支持实时数据可视化、提供机器学习接口等。Zeppelin 的组件包括: Notebook:交互式查询工具,支持多种编程语言; Interpreter:解释器,支持多种编程语言; Notebook Server:服务端,支持交互式查询; Shell:命令行工具,支持交互式查询; Spark:基于 Spark 的数据科学平台,支持交互式查询; ML:机器学习平台,支持交互式查询; Gallery:数据可视化模块,支持数据可视化; Extensions:扩展模块,支持自定义功能。
用户1148526
2018/01/03
1.9K0
HAWQ取代传统数仓实践(十九)——OLAP
SQL 计算小计和总计
有一个完美的解决方案是使用 GROUP BY 子句的 ROLLUP 扩展。ROLLUP 在分组统计的基础上,再对结果进行相同操作(SUM、AVG、COUNT)的聚合。
白日梦想家
2020/07/18
2K0
SQL 计算小计和总计
Leetcode-sql-seven
本文中主要是介绍LeetCode中关于SQL的练习题,从易到难,循序渐进。文中会介绍题目和尽可能多的提供解答方案。
皮大大
2021/03/01
4800
Leetcode-sql-seven
《面试季》高频面试题-Group by的进阶用法
  在平常的工作中,后端开发或者数据库管理员应该是接触到SQL编写场景最频繁的用户,虽然,我们能够正常的通过需求完成SQL语句的编写,但是还是存在许多的小伙伴对SQL的执行顺序不了解的。其实,了解SQL的执行顺序对我们编写SQL、理解SQL、优化SQL都有很大的帮助,所以在在开始讲解Group by的使用之前,先简单了解下SQL执行的一个顺序。
IT学习日记
2022/09/13
1.8K0
《面试季》高频面试题-Group by的进阶用法
一条SQL就能解决,为啥要写代码?
SQL(发音为“ ess-que-el”)是一门结构化查询语言,用于与数据库进行通信,它是关系型数据库管理系统的标准语言。SQL语句用于执行任务,例如更新数据库上的数据或从数据库检索数据。
公号:咻咻ing
2021/04/07
9550
Leetcode-sql-one
本文中主要是介绍LeetCode中关于SQL的练习题,从易到难,循序渐进。文中会介绍题目和尽可能多的解答方案
皮大大
2021/03/01
4550
Leetcode-sql-one
MySQL汇总排序查询
两个要求: ①计算出来的字段销售总额保留两位小数; ②排序时,汇总不参与排序,放在最下面。
诡途
2022/01/07
2.4K0
MySQL汇总排序查询
一个分组查询引发的思考
ps: 按照时间段(年月日)进行显示时, 用到了 DATE_FORMAT() 函数, 这个改动会对后面的统计带来意想不到的影响
时间静止不是简史
2022/01/05
1.1K0
一个分组查询引发的思考
Mysql 优化——分析表读写和sql效率问题
上次我们说到mysql的一些sql查询方面的优化,包括查看explain执行计划,分析索引等等。 今天我们分享一些 分析mysql表读写、索引等等操作的sql语句。
执笔记忆的空白
2020/12/25
1K0
像Excel一样使用SQL进行数据分析
Excel是数据分析中最常用的工具 ,利用Excel可以完成数据清洗,预处理,以及最常见的数据分类,数据筛选,分类汇总,以及数据透视等操作,而这些操作用SQL一样可以实现。SQL不仅可以从数据库中读取数据,还能通过不同的SQL函数语句直接返回所需要的结果,从而大大提高了自己在客户端应用程序中计算的效率。
SQL数据库开发
2024/04/25
1820
像Excel一样使用SQL进行数据分析
介绍一种非常好用汇总数据的方式GROUPING SETS
介绍   对于任何人而言,用T-SQL语句来写聚会查询都是工作中重要的一环。我们大家也都很熟悉GROUP BY子句来实现聚合表达式,但是如果打算在一个结果集中包含多种不同的汇总结果,可能会比较麻烦。我将举例展示给大家使用GROUPING SETS操作符来完成这个“混合的结果集”。   或许当我们在打算分析较大规模的数据集时,不知道从何下手,此时处理这种情况最好的方式就是汇总数据,快速的得到一个数据预览。 在T-SQL中,使用GROUP BY子句在一个聚合查询中来汇总需要的数据。这个子句由一组表达式定义的分组
用户1217611
2018/03/29
5K0
介绍一种非常好用汇总数据的方式GROUPING SETS
SQL 基础--> ROLLUP与CUBE运算符实现数据汇总
--=============================================
Leshami
2018/08/07
1.4K0
数据仓库开发 SQL 使用技巧总结
作者:dcguo 使用 sql 做数仓开发有一段时间了,现做一下梳理复盘,主要内容包括 sql 语法、特性、函数、优化、特殊业务表实现等。 mysql 数据结构 常用 innodb 存储为 B+ 树 特点 多路平衡树,m 个子树中间节点就包含 m 个元素,一个中间节点是一个 page(磁盘页) 默认 16 kb; 子节点保存了全部得元素,父节点得元素是子节点的最大或者最小元素,而且依然是有序得; 节点元素有序,叶子节点双向有序,便于排序和范围查询。 优势 平衡查找树,logn 级别 crud; 单一节点比二
腾讯技术工程官方号
2022/07/19
3.4K0
数据仓库开发 SQL 使用技巧总结
像Excel一样使用SQL进行数据分析
Excel是数据分析中最常用的工具 ,利用Excel可以完成数据清洗,预处理,以及最常见的数据分类,数据筛选,分类汇总,以及数据透视等操作,而这些操作用SQL一样可以实现。SQL不仅可以从数据库中读取数据,还能通过不同的SQL函数语句直接返回所需要的结果,从而大大提高了自己在客户端应用程序中计算的效率。
猴哥yuri
2019/11/22
1.5K0
MS SQL Server 实战 统计与汇总重复记录
在日常的数据管理应用中,统计和汇总重复记录的情况是经常遇到的一个问题,然后我们会根据统计结果进一步对数据进行合理化处理。比如我们有一组题库数据,主要包括题目和选项字段(如单选题目、多选题目和判断题目) ,一个合理的数据存储应该至少保证这些题目在分类中不应该出现重复题目标题数据。本文将介绍如何利用 group by 、with rollup 、having 语句来实现这一统计汇总需求,主要实现如下功能:
初九之潜龙勿用
2024/10/09
3120
MS SQL Server 实战 统计与汇总重复记录
相关推荐
SQL 从入门到放弃:ROW_NUMBER() OVER 和 ROLLUP
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档