Этот вопрос задавался ранее, но в разных форматах, и поэтому я не могу применить ответы на мою проблему (это также может быть связано с моей неопытностью в SQL).
Мой стол из футбольной базы. Цель состоит в том, чтобы выяснить, какой месяц (из каждого года) содержит наибольшее количество матчей.
Ниже приведены месяц, год и количество сыгранных матчей. Я хочу получить максимальное значение совпадений для группы по месяцам (внутри группы по годам).
select strftime('%m',Match.date) as "Month", strftime('%Y',Match.date) as
"Year", count(*)
from Match
group by 2,1
order by 2 asc, 1 asc, 3 desc;
Пожалуйста, дайте подробное объяснение вашего подхода, а не только код, чтобы я мог изучить. Спасибо:)
Пример данных:
league_id, season, stage, **date**, match_api_id, home_team_api_id, away_team_api_id, home_team_goal, away_team_goal
1 2008/2009 1 **2008-08-17 00:00:00** 492473 9987 9993 1 1
1 2008/2009 1 **2008-08-16 00:00:00** 492474 10000 9994 0 0
1 2008/2009 1 **2008-08-16 00:00:00** 492475 9984 8635 0 3
1 2008/2009 1 **2008-08-17 00:00:00** 492476 9991 9998 5 0
1 2008/2009 1 **2008-08-16 00:00:00** 492477 7947 9985 1 3
1 2008/2009 1 **2008-09-24 00:00:00** 492478 8203 8342 1 1
1 2008/2009 1 **2008-08-16 00:00:00** 492479 9999 8571 2 2
1 2008/2009 1 **2008-08-16 00:00:00** 492480 4049 9996 1 2
1 2008/2009 1 **2008-08-16 00:00:00** 492481 10001 9986 1 0