首页 > 解决方案 > 将 ROLLUP 与 COUNT DISTINCT 一起使用

问题描述

我在使用COUNT(DISTINCT column_name)时遇到问题ROLLUP。当我在没有 的情况下运行查询时,一切看起来都是正确的ROLLUP,但是当我这样做时,汇总值仅适用于每个 GROUP BY 中的不同值,而不是总和。我意识到我可以使用子查询来获取总数;但是,主要查询非常大,因此我希望找到另一种解决此问题的方法。有任何想法吗?

查询示例: SELECT COUNT(DISTINCT column1) FROM table GROUP BY column2 WITH ROLLUP

标签: mysqlsql

解决方案


这是一种自行使用的hackyconcat方法select。用户forpas提供了一个不起作用的边缘案例。仅当您的数据没有出现此类问题时才使用它

SELECT COUNT(DISTINCT CONCAT(column1, column2))
FROM table 
GROUP BY column2 WITH ROLLUP;

推荐阅读