Есть ли способ имитировать GROUP BY WITH CUBE в MySql?

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

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


person Charles Chen    schedule 16.08.2011    source источник
comment
Я думаю, что короткий ответ будет No.   -  person ypercubeᵀᴹ    schedule 17.08.2011


Ответы (1)


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

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

person Harald    schedule 11.10.2011