powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / rollup / cube
16 сообщений из 16, страница 1 из 1
rollup / cube
    #39501976
kuzea
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При использовании rollup общий итог появляется внизу, а когда пользуюсь cube (в той же самой выборке) общий итог выводится первым. Может кто-то подскажет, почему так? Хотелось бы в cube-случае отправить его тоже вниз.

select department_id, sum(salary) sal from employees
where department_id is not null and department_id < 50
group by rollup(department_id);


department_id sal10 440020 1900030 2490040 6500(null) 54800

select department_id, sum(salary) sal from employees
where department_id is not null and department_id < 50
group by cube(department_id);


department_id sal(null) 5480010 440020 1900030 2490040 6500
...
Рейтинг: 0 / 0
rollup / cube
    #39501980
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kuzeaитог появляется внизуorder by
...
Рейтинг: 0 / 0
rollup / cube
    #39501981
Vint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kuzea,
открой для себя groupipng sets и GROUPING_ID
ну и потом почитай про order by
...
Рейтинг: 0 / 0
rollup / cube
    #39501982
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kuzea,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
SQL> ed
Wrote file afiedt.buf

  1  select deptno, sum(sal) sal from emp
  2  where deptno is not null and deptno < 50
  3  group by cube(deptno)
  4* order by deptno,grouping(deptno)
SQL> /

    DEPTNO        SAL
---------- ----------
        10       8750
        20      10875
        30       9400
                29025



.....
stax
...
Рейтинг: 0 / 0
rollup / cube
    #39501983
kuzea
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну ORDER BY или с помощью GROUPING , конечно, проблема решится. Это всё понятно.
Непонятно, почему так по-разному ведут себя rollup и cube. Нигде не могу про это найти почитать. Поэтому, собственно, и написал на форум.
...
Рейтинг: 0 / 0
rollup / cube
    #39501987
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kuzea,

Потому что сортировку гарантирует только order by.
...
Рейтинг: 0 / 0
rollup / cube
    #39501991
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kuzeaНу ORDER BY или с помощью GROUPING , конечно, проблема решится. Это всё понятно.
Непонятно, почему так по-разному ведут себя rollup и cube. Нигде не могу про это найти почитать. Поэтому, собственно, и написал на форум.
потому, что никто (то есть вендор) не обещал вам иного.
хотите - как уже вам подсказали - например order by grouping_id()
...
Рейтинг: 0 / 0
rollup / cube
    #39501999
kuzea
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
orawishkuzeaНу ORDER BY или с помощью GROUPING , конечно, проблема решится. Это всё понятно.
Непонятно, почему так по-разному ведут себя rollup и cube. Нигде не могу про это найти почитать. Поэтому, собственно, и написал на форум.
потому, что никто (то есть вендор) не обещал вам иного .
хотите - как уже вам подсказали - например order by grouping_id()

ууу, как всё запущено)). ясненько, спасибо
...
Рейтинг: 0 / 0
rollup / cube
    #39502003
Vint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kuzea,
поставь oracle 8.1.7 там в группировке сортировка была))) точно будет порядок. и пиши без order by...
...
Рейтинг: 0 / 0
rollup / cube
    #39502014
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vintkuzea,
поставь oracle 8.1.7 там в группировке сортировка была))) точно будет порядок. и пиши без order by...


https://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:3230380179748
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
Asked: March 29, 2002 - 12:51 pm UTC
Answered by: Tom Kyte - Last updated: June 01, 2017 - 11:01 am UTC
Category: Database - Version: 8.1.5

SQL> select mth, otype, count(*)
  2  from akp1
  3  group by cube(mth, otype);

MTH       OTYPE                COUNT(*)
--------- ------------------ ----------
                                    118
          TYPE                        2
          VIEW                       15
          PACKAGE                   101
august                                3
august    VIEW                        1
august    PACKAGE                     2
july                                109
july      VIEW                       13
july      PACKAGE                    96
october                               3

MTH       OTYPE                COUNT(*)
--------- ------------------ ----------
october   TYPE                        2
october   VIEW                        1
september                             3
september PACKAGE                     3

15 rows selected.




.....
stax
...
Рейтинг: 0 / 0
rollup / cube
    #39502028
Vint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stax,
что именно ты хочешь показать? что там по дефолту nulls first всегда? ну да...
...
Рейтинг: 0 / 0
rollup / cube
    #39502030
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VintStax,
что именно ты хочешь показать? что там по дефолту nulls first всегда? ну да...

Vintkuzea,
поставь oracle 8.1.7 там в группировке сортировка была))) точно будет порядок. и пиши без order by...

хочу сказать что и в восьмерке придется пользоваться order by

имхо
order by надо писать всегда (но лень), даже когда порядок по умолчанию подходит



.....
stax
...
Рейтинг: 0 / 0
rollup / cube
    #39502031
j2k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Staxимхо
order by надо писать всегда (но лень)
Если нужен отсортированный результат

PS блин, сижу, думаю, что-то не-то. А потом понял - stax зарегистрировался :D
...
Рейтинг: 0 / 0
rollup / cube
    #39502056
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
j2kStaxимхо
order by надо писать всегда (но лень)
Если нужен отсортированный результат

PS блин, сижу, думаю, что-то не-то. А потом понял - stax зарегистрировался :D

рискнул

.....
stax
...
Рейтинг: 0 / 0
rollup / cube
    #39502074
Vint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
j2k,
надо предложить джуджу специально для стакса сделать отдельный стиль ника)) серый подчеркнутый))

Stax
я имел в виду что в восьмерке ты всегда получал гарантированный результат при группировке. потому что механизм группировки был через сортировку)
...
Рейтинг: 0 / 0
rollup / cube
    #39502121
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vintj2k,

Stax
я имел в виду что в восьмерке ты всегда получал гарантированный результат при группировке. потому что механизм группировки был через сортировку)
Vint ето скорее об шестерке/семеркы

я плолохо помню 8-ю, обычно мы перескакивали через версию

помню, гуру/спецов до белого каления дововодил

подчинится ли оптимизатор ПРАВИЛЬНОМУ хинту

в семерке, был обязан подчинится, но тихонько из доки убрали

.....
stax
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / rollup / cube
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]