У меня есть таблица с тремя столбцами (id, col2, col3, col4), где col2 - это A или B, а col3 и col4 - целые числа. Моя проблема в том, что существует много столбцов с одинаковым идентификатором и другим значением col2, и я хочу выбрать ТОЛЬКО те строки, которые имеют максимальное значение в col3.
Например, если у нас есть:
id | col2 | col3 | col4
1 | A | 3 | 2
1 | B | 5 | 3
2 | A | 6 | 2
...
Я хочу оставить только кортеж (1, B, 5, 3). Как мне этого добиться?
Я пробовал это:
SELECT id, col2, MAX(col3), col4 FROM t GROUP BY id;
но я получаю сообщение о том, что это недопустимый оператор GROUP BY.