Я все еще разбираюсь в основах sql. Любая помощь очень ценится.SQL-запрос помощи
Стол TeamRankings. Колонны следующие:
score | qualities_id | team_id | year | source_id
Команды оцениваются по различным качествам за определенные годы. Обратите внимание, что данной команде может быть присвоено несколько баллов (каждый из них будет из другого источника). Аналогичным образом, у данной команды могут не быть никаких баллов за данный год.
Вот проблема:
однократный качества, список команд, а также список лет, я хочу, чтобы найти один балл для каждой команды/года. В случае, если у данной команды/года есть баллы, доступные из нескольких источников, я бы хотел выбрать счет с самым низким исходным кодом.
Я предполагаю, что способ сделать это - GROUP BY
team_id, year, quality_id, а затем как-то отфильтровать идентификаторы более высокого источника. Но я смущен, когда происходит такая фильтрация. Это не в статье HAVING
, или в предложении WHERE
, правильно? Мне нужен подзапрос?