Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Не пойму разницу синтаксиса функций аналитики/агрегации / 3 сообщений из 3, страница 1 из 1
08.09.2020, 11:34
    #39996480
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не пойму разницу синтаксиса функций аналитики/агрегации
Нужно сделать pivot на Oracle 10g.
Делаю так:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
select TARIFF_ID, USER1 as VSA
, max(case when USER2 like 'meter-circuit-burst %' then to_number(substr(USER2, 21)) end)               /*keep (dense_rank last order by TARIFFEL_ID) over (partition by TARIFF_ID)*/ as QOS_OUT_BURST
, max(case when USER2 like 'meter-circuit-excess-burst %' then to_number(substr(USER2, 28)) end)        /*keep (dense_rank last order by TARIFFEL_ID) over (partition by TARIFF_ID)*/ as QOS_OUT_EXCESS
...
from BM_TARIFFEL
where ...
and USER1 = 'RBN-Dynamic_QoS_Param'
and TARIFF_ID = 4732
group by TARIFF_ID, USER1


Так работает, выбирает максимальное значение из набора соответствующих строк.
Но если мне нужно не максимальное, а последнее (с максимальным PK)?
Если снимаю комментарий, то получаю ORA-00979 о том, что USER2 не является выражением GROUP BY.
Или нужно указать пустой over () ?
...
Рейтинг: 0 / 0
08.09.2020, 11:51
    #39996488
env
env
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не пойму разницу синтаксиса функций аналитики/агрегации
Alibek B.,

А зачем тут over?
...
Рейтинг: 0 / 0
08.09.2020, 13:08
    #39996526
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не пойму разницу синтаксиса функций аналитики/агрегации
Даже не знаю. У меня без over на некоторых наборах (которые оказались в начале возвращаемого resultset) данных возвращался null, я решил, что null на всех.

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


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