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 中相当痛苦,但这是一种方法:

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
                  );

关于mysql - 需要一个 SQL 来获取全年每月和每天的高计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45745270/

相关文章:

mysql - 简单的MySQL输出问题

sql - 不使用探查器测量 SQL 性能

sql - 如何翻转 mysql 中数据结构为 : 'last name, first name' ? 的列

mysql - 数据库结构重新评估

php - 如何在 PHP 中检索列的总和

sql - ms access insert into no duplicates

mysql - 由于学生和科目大小不固定,如何在将学生分数插入 tran 表时减少值的冗余?

SQL 数据库/.SQL 文件到 CSV 文件

php - 有没有办法为 MySQL 中记录的最后更新字段制作时间戳?

php - 如果我需要这些键同时具有值​​(从数据库传递),如何将键添加到 PHP 数组?