Как сгруппировать по столбцам, упорядочить по разным столбцам и ограничить каждую группу одной строкой? - PullRequest
0 голосов
/ 12 декабря 2011
Name      Score
Jim       1
Jim       2
Jim       4
Lisa      2
Lisa      5
Ted       1
Ted       2
Ted       3

Как мне сгруппировать по имени, отсортировать по наивысшему количеству баллов и выбрать только одну строку? Таким образом, запрос вернет 3 строки: Джим 4, Лиза 5 и Тед 3.

Ответы [ 3 ]

1 голос
/ 12 декабря 2011

Чтобы найти максимальный балл, вы можете GROUP BY name и использовать функцию MAX :

SELECT ns.Name, MAX(ns.Score) AS Score
FROM NameScore AS ns
GROUP BY ns.Name
ORDER BY ns.Name ASC

Я составил имя таблицы, так какВы не предоставили один, переключите это для своего реального стола.

0 голосов
/ 12 декабря 2011

я думаю, что это доверие:

select from Table group by Name having MAX(Score);
0 голосов
/ 12 декабря 2011

Я думаю, что будет работать следующее, но я не проверял это:

SELECT Name, MAX(Score) FROM Table
        GROUP BY Name
...