mysql - 将 ROLLUP 与 COUNT DISTINCT 一起使用
问题描述
我在使用COUNT(DISTINCT column_name)
时遇到问题ROLLUP
。当我在没有 的情况下运行查询时,一切看起来都是正确的ROLLUP
,但是当我这样做时,汇总值仅适用于每个 GROUP BY 中的不同值,而不是总和。我意识到我可以使用子查询来获取总数;但是,主要查询非常大,因此我希望找到另一种解决此问题的方法。有任何想法吗?
查询示例:
SELECT COUNT(DISTINCT column1) FROM table GROUP BY column2 WITH ROLLUP
解决方案
这是一种自行使用的hackyconcat
方法select
。用户forpas提供了一个不起作用的边缘案例。仅当您的数据没有出现此类问题时才使用它
SELECT COUNT(DISTINCT CONCAT(column1, column2))
FROM table
GROUP BY column2 WITH ROLLUP;
推荐阅读
- python - 将包含混合字体的word文档转换为unicode
- python - 如何使用python保存多个模型
- sql - 需要将行数据加入Oracle中的列
- javascript - 使用正则表达式从 Base64String 替换 URI 前缀
- pyparsing - pyparsing : 在日期之间分组文本
- firebase - 如何在 Nativescript App 中从 Firebase 数据创建评论/评论部分?
- excel - 这个特定的代码可能出了什么问题?我正在尝试计算值 <= 7 的单元格
- javascript - 如何根据多个属性选择特定选项?
- ssl - 使用 Cloudflare SSL 证书 + nginx letencrypt 证书进行双重加密?
- vb.net - 实体框架“添加”函数添加两个对象而不是一个