Замена куба с накоплением в Oracle SQL - PullRequest
0 голосов
/ 25 февраля 2010

У меня есть домашнее задание, задающее следующий вопрос:

Показать, как выразить \ group by cube (a, b, c, d) ", используя свертку вместо куба.

У меня действительно нет ни малейшего понятия, как это сделать. С чего бы мне начать или где я могу обратиться за помощью?

1 Ответ

4 голосов
/ 25 февраля 2010

Поскольку это задание, я укажу вам на очень хорошую статью о GROUP BY, ROLLUP и CUBE Роб ван Вейк .

Два отношения эквивалентности, относящиеся здесь, будут:

 GROUP BY CUBE ( set1, …, setn )
 ≡ GROUP BY GROUPING SETS (all possible combinations between () and (set1, …, setn) )

и аналогия с декартовым произведением:

GROUP BY a, ROLLUP(b)
≡ GROUP BY GROUPING SETS (a), GROUPING SETS ((b), ())
≡ GROUP BY GROUPING SETS ((a,b), (a))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...