выбрать максимальное количество после группы по нескольким столбцам - PullRequest
0 голосов
/ 21 мая 2018

У меня есть таблица со схемой и данными следующим образом

id,winner,season  
1, Chelsea, 2014 
2, Chelsea, 2014 
3, Chelsea, 2015 
4, Arsenal, 2014

..

и т. Д.

В основном, там есть запись для каждого матча каждого сезона.

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

Я получил до получения максимального количества матчей в каждом сезоне, но я не могу получить название команды, которая имела максимум.Какие-либо ведет?

with  t1 as
(select count(winner) as cnt, winner, season from matches group by winner,season)
select max(cnt),season from t1 group by season

1 Ответ

0 голосов
/ 21 мая 2018

Это должно работать:

select t2.*
from (
select season, max(totalwins) as totalwins from (
select season, winner, count(*) as totalwins
  from matches t
  group by season, winner
) s1 group by season) w join
(select season, winner, count(*) as totalwins
  from matches t
  group by season, winner
) t2 on t2.season = w.season and t2.totalwins = w.totalwins;

Результат:

season  winner  totalwins
------  ------- ---------
2014    Chelsea 2
2015    Arsenal 1
2015    Chelsea 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...