2011-08-16 21 views
6

MySql obsługuje GROUP BY WITH ROLLUP, który zwróci agregaty dla ostatnich x z n kolumn w grupie, ale nie obsługuje GROUP BY WITH CUBE, aby pobrać wszystkie kombinacje n kolumn i brać agregaty.Czy istnieje sposób symulacji GROUP BY WITH CUBE w MySql?

Mogę zasymulować to, wykonując związki przy zapytaniach GROUP BY WITH ROLLUP, ale MySql zmaterializuje moje podzapytanie wiele razy. Używam grupy przez duże podzapytanie, więc jest to suboptymalne. Czy istnieje sposób rozwiązania tego problemu bez tymczasowych tabel?

+0

Myślę, że krótką odpowiedzią jest ** 'No' **. –

Odpowiedz

8

Krótka odpowiedź: Nie

Długa odpowiedź: Możesz zainstalować otwartej hurtowni danych źródłowych z GROUP BY ze wsparciem CUBE która wykorzystuje MySQL jako silnika przechowywania, takich jak Pentaho.