Oracle SQL — Аналитические функции НАД группой?

Моя таблица:

ID   NUM   VAL
1    1     Hello
1    2     Goodbye
2    2     Hey
2    4     What's up?
3    5     See you

Если я хочу вернуть максимальное число для каждого идентификатора, это действительно приятно и очистить:

SELECT MAX(NUM) FROM table GROUP BY (ID)

Но что, если я хочу получить значение, связанное с максимальным значением каждого числа для каждого идентификатора?

Почему я не могу:

SELECT MAX(NUM) OVER (ORDER BY NUM) FROM table GROUP BY (ID) 

Почему это ошибка? Я бы хотел, чтобы этот выбор был сгруппирован по идентификатору, а не разделялся отдельно для каждого окна...

РЕДАКТИРОВАТЬ :Ошибка "не выражение GROUP BY".

11
задан user1327961 12 September 2012 в 14:16
поделиться