Набор результатов SQL с функцией Max и результатами соседней строки

У меня есть четыре столбца вывода в моем наборе результатов:

Имя, Предмет, Оценка, Значение

Можно ли заполнить результирующий набор с помощью Max(Value), но также провести через смежный предмет и оценку, и как мне этого добиться? например:

Name    Subject    Grade    Value
Helen   Chemistry  C        7
Helen   Physics    B        8
Helen   Biology    A        9
Brad    Chemistry  C        7
Brad    Biology    D        6
Brad    Physics    F        4

становится

Name    Subject    Grade    Value
Helen   Biology    A        9
Brad    Chemistry  C        7

1 ответ

SELECT  *
FROM    (
        SELECT  *,
                ROW_NUMBER() OVER (PARTITION BY name ORDER BY value DESC) rn
        FROM    mytable
        ) q
WHERE   rn = 1
Другие вопросы по тегам