У меня есть следующие данные:
col_1 | col_2 | col_3 | col_4
-----------------------------
a1 b1 c1 d1
a1 b2 c1 d1
a1 b3 c1 d1
a1 b4 c1 d2
a1 b5 c2 d2
a1 b6 c2 d2
a1 b7 c1 d3
a1 b8 c2 d3
a1 b9 c3 d3
a1 b10 c1 d2
a1 b11 c2 d3
a2 b12 c1 d1
a3 b13 c1 d1
Меня интересует возможность:
- Возвращать строки, в которых значение
col_1
уникально - Для каждой строки в результате он должен возвращать значения для столбцов с наибольшим числом при группировании по:
col_3
, col_4
Например, я хотел бы получить вывод чтобы вернуть следующее:
col_1 | col_2 | col_3 | col_4
-----------------------------
a1 b1 c1 d1
a2 b12 c1 d1
a3 b13 c1 d1
В результате обратите внимание, что каждое значение в col_1
уникально. Также обратите внимание, что для a1
он вернулся с c1
и d1
, так как они имели наибольшую группу по подсчетам для a1
.
Как я могу добиться этого с помощью запроса SQL? Я буду использовать его для запроса Hive SQL.