У меня есть много столбцов в операторе select
, многие из которых являются производными вычислениями.
Я пытаюсь сгруппировать несколько строк в одну, используя listagg()
в операторе select
, но без необходимости group by
остальных столбцов в операторе select
. По линии listagg() within group() over (partition by id)
.
Прямо сейчас у меня есть что-то вроде:
select id, listagg(distinct annual_bill_rate, ', ') within group (order by bill_rate) as annual_bill_rate, email, state
from table
group by 1,3,4
Кажется, невозможно избежать этой группы, основываясь на документации, но есть ли альтернативы? У меня более 30 столбцов, я не могу сгруппировать их по всем. Спасибо!
Пример данных:
id bill_rate email state
1 0.0035 a@gmail.com NJ
1 0.0045 a@gmail.com NJ
1 0.0055 a@gmail.com NJ
2 0.0065 b@gmail.com NY
2 0.0075 b@gmail.com NY
3 0.0085 c@gmail.com PA
Желаемый результат - БЕЗ ГРУППЫ ПО:
id bill_rate email state
1 0.0035, 0.0045, 0.0055 a@gmail.com NJ
2 0.0065, 0.0075 b@gmail.com NY
3 0.0085 c@gmail.com PA