我有一个包含社区事件列表的表格,其中包含事件开始和结束日期的列。如果结束日期为 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/