GROUP BY на определенные столбцы в улье - PullRequest
0 голосов
/ 04 марта 2019

У меня есть запрос улья с 38 столбцами, и только один столбец использует статистическую функцию.Но мне нужно сгруппировать его только с именем столбца 1, 2 вместо всех.Как это можно сделать?

например, что мне нужно,

SELECT 
1
,2
,3
,4
,5
,MAX(6)

FROM 
table_x

GROUP BY 
1,2 

Ответы [ 3 ]

0 голосов
/ 04 марта 2019

использование row_number() функция

select * from
(
   SELECT 1,2,3,4,5,6,row_number() over(partition by 1,2 order by 6 desc) as rn
   FROM table_x
)A where rn=1
0 голосов
/ 04 марта 2019

Не соответствует определению group by.Когда вы группируете по X columns, остальные Y columns должны быть агрегированы, чтобы соответствовать существующим группам.

0 голосов
/ 04 марта 2019

выберите все нужные столбцы и сгруппируйте их только с именем столбца 1, 2 используйте аналитические функции.

используйте запрос ниже:

select col1,col2.....col38,
max(col6) over(partition by col1,col2 order by col1) as max_val
from tablename
...