COUNT количество выигрышей и MAX участник с наибольшим количеством выигрышей с MySQL - PullRequest
1 голос
/ 09 мая 2011

У меня есть таблица с именем games с полями: match и winner.

  • Match - это внешний ключ к таблице matches;
  • winner - это внешний ключ к таблице «участников», который может быть NULL, если игра еще не определена.

Мне нужен способ узнать, кто выиграл каждый матч, когда явыберите список матчей, подсчитав, кто выиграл каждую игру, и вернув участника (из поля победителя), у которого было больше всего побед.

Различные комбинации подзапросов, GROUP BY, COUNT и MAXпока не дал мне правильных результатов.

Я не думаю, что смогу заменить ORDER BY и LIMIT на MAX, потому что это вернет только первого участника в матче, если все участники случилисьиметь одинаковое количество побед.

1 Ответ

0 голосов
/ 28 сентября 2011

Вы пытались использовать JOINs с GROUP BY и COUNT?

select b.name, count(c.match)
from game a
inner join part b on a.winner = b.winner
inner join matches c on a.match = c.match
group by b.winner;

John

...