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

Mysql 需要一个SQL来获取全年每月和每天的高计数,mysql,sql,Mysql,Sql,我有以下查询,该查询适用于任何给定的月份,为我提供该月份达到的最高计数,并指定日期: SELECT day(season),COUNT(*) FROM baseball_season WHERE season like '2017-07%' GROUP BY day(season) Order BY count(*) DESC LIMIT 1; 是否有办法编辑此查询,以便获得每月的最高天数?这个查询一次只能使用一个月的时间…在MySQL中这是相当痛苦的,但这里有一种方法: selec

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

SELECT day(season),COUNT(*) 
FROM baseball_season 
WHERE season like '2017-07%' 
GROUP BY day(season) 
Order BY count(*) DESC 
LIMIT 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
                  );

我得到错误1248 42000:每个派生表都必须有自己的别名。如果我在“group by daybs2.SEASURE”行后面加上“as a”作为别名,它会告诉我它无法识别bs.SEASURE我已经运行了您编辑的副本,并且在where子句“Hmmm”中得到了未知列“.bs.SEASURE”。。它是否适用于yyyy和mm而不是yearbs.season和monthbs.season?