Я пытаюсь использовать MAX(case when col4='ABC' then col1 else 0 end) OVER (PARTITION BY col2 order by **col3**)
col1~col2~col3~col4
30 A B1 ABC
35 A A1 ABC
36 A NULL NULL
40 A X1 ABC
50 B M1 ABD
, но получаю результат как 40, но я хочу 35 как мой результат.Похоже, что
порядок по col3 не применяется до агрегирования MAX.Есть ли другой способ?
Я не могу написать row_number()
в предложении where, так как мы пытаемся создать столбцы, а вокруг него много столбцов и сложной логики.
В настоящее время я пробую это в Teradata
, но на самом деле это будет реализовано в HIVE
.