【发布时间】:2020-03-11 15:17:04
【问题描述】:
我有一个三列的表。 (Column_A, Column_B, Column_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_A 中的用户在 Column_B 中参加过的每项运动,在 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
如何解决这个问题并获得想要的结果?
【问题讨论】:
标签: google-bigquery