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 и т. д., но можетене получить вывод ям после. Любая помощь приветствуется.

Ответы на вопрос(4)

Ваш ответ на вопрос