SQL - выбрать отдельные записи в одном поле с самыми высокими записями из другого поля
В сценарии, где у меня есть таблица, например:
int id (PK)
int staff_id
int skill_id
bit mainskill
Я хочу выбрать только ОДНУ запись для каждого сотрудника (представленного staff_id), указав его основной навык в виде (1) в mainskill. Если нет основного навыка, я хочу вернуть какие-либо записи навыков для этого сотрудника. Например:
id staff_id skill_id mainskill
1 1 24 1
2 1 55 0
3 1 7 0
4 4 24 0
5 4 18 0
6 6 3 0
7 6 18 1
Запрос должен вернуть: I '
id staff_id skill_id mainskill
1 1 24 1
4 4 24 0
7 6 18 1
Вы пробовали различные комбинации группировки, DISTINCT и т. д., но можетене получить вывод ям после. Любая помощь приветствуется.