在MySQL中是否有模拟GROUP BY WITH CUBE的方法?

10

MySql支持GROUP BY WITH ROLLUP,可以返回分组中最后x个n列的聚合结果,但不支持GROUP BY WITH CUBE以获取n列的所有组合并进行聚合。

我可以通过使用GROUP BY WITH ROLLUP查询的联合来模拟此操作,但是MySql会多次实现我的子查询。由于我在一个大型子查询上使用了GROUP BY,因此这是次优的。有没有一种方法可以在不使用临时表的情况下解决这个问题?


我认为简短的回答是 ****。 - ypercubeᵀᴹ
2个回答

10

简短回答:不行。

详细回答:你可以安装一个开源数据仓库,支持 GROUP BY WITH CUBE,并使用 Mysql 作为存储引擎,例如 Pentaho。


0
使用Roll up是构建具有您所想象的面和角的立方体的解决方案。在这种情况下,我假设您使用虚拟ROLAP。如果您有足够的内存,我建议使用内存引擎来实现立方体,并根据需要使用钻取和切片操作或立方体操作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接