Есть ли способ имитировать GROUP BY WITH CUBE в MySql? - PullRequest
6 голосов
/ 17 августа 2011

MySql поддерживает GROUP BY WITH ROLLUP, которая будет возвращать агрегаты для последних x из n столбцов в группе, но не поддерживает GROUP BY WITH CUBE для получения всех комбинаций из n столбцов и получения агрегатов.

Я могу смоделировать это путем объединения запросов GROUP BY WITH ROLLUP, но MySql материализует мой подзапрос несколько раз.Я использую группу в большом подзапросе, так что это неоптимально.Есть ли способ решить эту проблему без временных таблиц?

1 Ответ

8 голосов
/ 11 октября 2011

Краткий ответ: Нет.

Длинный ответ: Вы можете установить хранилище данных с открытым исходным кодом с поддержкой GROUP BY WITH CUBE, которое использует Mysql в качестве механизма хранения, такого как Pentaho.

...