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?