Я пытаюсь вычислить максимум значений столбцов с общим идентификатором.
У меня есть следующая таблица в качестве ввода
TABLE 1:
| id | seq | score |
| ----- | ------ | ----- |
| UA502 | qrst | 8.2 |
| UA502 | abcdef | 2.2 |
| UA504 | yzab | 8.8 |
| UA504 | lmnop | 2.8 |
| UA503 | uvwx | 8.6 |
| UA503 | ghijk | 2.6 |
Требуемый вывод:
| id | seq | score |
| ----- | ------ | ----- |
| UA502 | qrst | 8.2 |
| UA504 | yzab | 8.8 |
| UA503 | uvwx | 8.6 |
Я выполняю следующий запрос WITH (max_cal c) с функцией groupby и max на выходе другого запроса WITH (union_data; TABLE 1).
max_calc as(
select id, seq, max(score)
from union_data
GROUP BY id
)
select * from max_calc
;
Я получаю следующую ошибку:
Query Error: error: column "union_data.seq" must appear in the GROUP BY clause or be used in an aggregate function
Я не понимаю эту ошибку. Я группирую данные на основе общего идентификатора, а не seq. Почему я должен включить столбец "union_data.seq" в GROUPBY.
Спасибо