我有一个三列的表。(列_A、列_B、列_C)
表中数据结构如下:
Column_A | Column_B | Column_C
----------------------------------
Jeeva | football | 1
Jeeva | football | 2
Jeeva | football | 3
Jeeva | handball | 5
Jeeva | handball | 1
Jeeva | handball | 7
Jeeva | handball | 2
Jeeva | voleyball | 1
Jeeva | voleyball | 2
Bharathi | voleyball | 10
Bharathi | voleyball | 7
Bharathi | voleyball | 2
结果我想要以下内容:
Column_A | Column_B | Column_C
----------------------------------
Jeeva | football | 3
Jeeva | handball | 7
Jeeva | voleyball | 2
Bharathi | voleyball | 10
期望的结果:为 Column_B 中的用户在 Column_A 中参加过的每项运动在 Column_C 中找到最大得分值
我在 Bigquery 中编写了如下查询,
SELECT DISTINCT a.* FROM `project.dataset.individual_results` a
RIGHT JOIN
(SELECT column_a, column_b, MAX(column_c) AS max_val FROM `project.dataset.individual_results` GROUP BY column_a GROUP BY column_b) b
ON a.column_a = b.column_a AND a.column_b= b.max_val WHERE a.column_c IS NOT NULL
Group By
由于第二条语句,我得到了一个错误。
错误信息:
Syntax error: Expected ")" but got keyword GROUP
如何解决这个问题并获得预期的结果?