【发布时间】:2015-05-21 05:31:21
【问题描述】:
我在这个网站上看到过这样的问题;但他们只是给出生日数据而不给出计数 喜欢:mysql query to get birthdays for next 10 days
我想要的是接下来 9 天的每一天的生日计数 从 2 天后:例如今天是 03-18,所以我想将 03-20 的数据发送到 03-26
这是我的查询
SELECT count(DOB) as count,DAYOFMONTH(DOB) as day
from patient
where
day(DOB) >= day(DATE_ADD(CURDATE(), interval 2 day))
and day(DOB) < day(DATE_ADD(CURDATE(), interval 9 day))
and month(DOB) < month(DATE_ADD(CURDATE(), interval 1 month))
group by day
ORDER BY day ASC
它给出的输出如下:
count date
2444 03-20
2337 03-21
2354 03-22
2064 03-23
2118 03-24
2357 03-25
2181 03-26
但根据我查询 DOB LIKE '%-03-20' 计数不同的地方是不正确的。
提前谢谢你。
【问题讨论】:
-
为什么不在查询末尾添加
group by day。 -
添加了...你可以查看@Avidan
-
一定要测试你的查询
CURDATE()'2014-12-24' 和 '2016-02-24' 的值,以确保你已经处理了年终和跨越-年份案例正确。这东西比看起来更难! -
谢谢,不过我知道闰年的情况不会影响。我必须添加另一个条件,比如如果月份日期是 03-28,那么发送日期可能是 03-30 到 04-06,所以这个条件也不满足。
标签: php mysql sql phpmyadmin