sql - MySQL获取一个月中每一天的日期的行数

标签 sql mysql

我有一个包含社区事件列表的表格,其中包含事件开始和结束日期的列。如果结束日期为 0,则事件仅在开始日发生。我有一个查询返回任何给定日期发生的事件数:

SELECT COUNT(*) FROM p_community e WHERE 
    (TO_DAYS(e.date_ends)=0 AND DATE(e.date_starts)=DATE('2009-05-13')) OR
    (DATE('2009-05-13')>=DATE(e.date_starts) AND DATE('2009-05-13')<=DATE(e.date_ends))

我只是在任何我想测试“2009-05-13”的日期中加入。

我需要能够获取整个月中每一天的数据。我可以一次一个地针对每一天运行查询,但我宁愿运行一个可以立即给我整个月的查询。有人对我如何做到这一点有任何建议吗?

不,我不能使用存储过程。

最佳答案

尝试:

SELECT COUNT(*), DATE(date) FROM table WHERE DATE(dtCreatedAt) >= DATE('2009-03-01') AND DATE(dtCreatedAt) <= DATE('2009-03-10') GROUP BY DATE(date);

这将获取 2009 年 5 月每一天的金额。

更新:现在适用于跨月/年的一系列日期。

关于sql - MySQL获取一个月中每一天的日期的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/894878/

相关文章:

mysql - 我如何使用 mysql rows 值作为属性?

php - 第一个表单提交插入行随后提交更新同一行

mysql - order by 内的自定义函数

MySql 内连接顺序

sql - 如何使用窗口滞后函数对具有多种传感器类型的数据进行分区

java - Java 中 MySQL Callable 语句为 null

php - 使用 Wamp 服务器命令在 Windows 上关闭命令提示符

php - Mysql根据时间戳循环遍历数据库?

mysql - 显示未显示id的行

sql - 如果值为 NULL,则左连接,否则内连接