需要一个SQL来获取全年每月和每天的高计数

时间:2017-08-17 21:34:08

标签: mysql sql

我有以下查询,它适用于任何给定月份,为我提供当月达到的最高计数并指定日期:

SELECT day(season),COUNT(*) 
FROM baseball_season 
WHERE season like '2017-07%' 
GROUP BY day(season) 
Order BY count(*) DESC 
LIMIT 1;

有没有办法可以编辑此查询,以便获得每个月的最高日数?此查询仅适用于一次一个月......

1 个答案:

答案 0 :(得分:1)

在MySQL中相当痛苦,但这是一种方式:

select year(season) as yyyy, month(season) as mm, day(season) as dd,
       count(*)
from baseball_season bs
where season >= '2017-01-01' and season < '2018-01-01'  -- or whatever, using dates
group by yyyy, mm, dd
having count(*) = (select count(*) as cnt
                   from baseball_season bs2
                   where year(bs2.season) = year(bs.season) and
                         month(bs2.season) = month(bs.season)
                   group by day(bs2.season)
                   order by count(*) desc
                   limit 1
                  );