Я новичок в SQL. Я использую SQL Server.Выберите записи на основе одного отдельного столбца
Я пишу запрос, чтобы получить лучшие оценки (sc) каждого пользователя (уникально).
Я написал запрос, который приводит к таблице, имеющей неповторимые значения pname и pid.
У меня есть следующая результирующей таблица
id pid pname sc
___________________________
1584 268 user1 99
1608 268 user1 99
1756 268 user1 95
1750 268 user1 95
1240 268 user1 94
1272 268 user1 94
1290 268 user1 93
1298 268 user1 93
1177 268 user1 93
1488 268 user1 93
1401 268 user1 92
1407 268 user1 92
1482 268 user1 89
1245 268 user1 89
1705 268 user1 88
2848 310 user2 81
2888 310 user2 81
1178 268 user1 80
2084 50 user3 80
2727 50 user3 80
2729 50 user3 80
2782 50 user3 80
2792 50 user3 79
2848 50 user3 79
2851 310 user2 79
2833 310 user2 78
2851 50 user3 78
2857 50 user3 78
2619 50 user3 77
2890 50 user3 77
2593 310 user2 77
2596 310 user2 77
2792 310 user2 77
2810 310 user2 77
2806 310 user2 76
из этого запроса
SELECT
t.id,
t.pid,
u.pname,
t.sc
FROM
table t,
table u
WHERE
t.pid=u.pid
GROUP BY
id,
pid,
u.pname
ORDER BY
sc DESC
Что я хочу, чтобы иметь уникальный pnames в моей результирующей таблице. Например, требуемая мощность должна быть:
id pid pname sc
___________________________
1584 268 user1 99
2851 310 user2 79
2084 50 user3 80
т.е. первый максимум «СБН» каждого пользователя
Спасибо!
Тэг ваш вопрос с базой данных, которую вы используете. –
с использованием SQL Server – Khubaib