0

こんにちは私はこのmysqlテーブルを持っています

id    amount     substart  years   subend

1     200       2012-01-10   1    2013-01-09 
2     250       2012-02-15   2    2014-02-14 
3     100       2012-02-11   1    2013-02-10 
4     260       2012-03-22   3    2015-03-21 

私が欲しいのは、終了日の1か月前に通知を出すことです。現在のクエリは次のとおりです。

select  count(subend) as count,curdate() 
from subdur  where  status='active' 
and (date_sub(subend,interval 1 month))>=curdate() 
and (date_sub(subend,interval 1 month))<date_add(curdate(),interval 1 month) 
order by subend;

クエリは私に適切な答えを与えていません。

前もって感謝します

4

2 に答える 2

0

別の方法は次を使用することdate_diffです:

select count(subend) as count, curdate() 
from subdur  
where  status='active' 
and date_diff(subend, curdate()) = 30 // >= 30 days or more, = 30 days exact
order by subend
;
于 2013-02-02T09:05:48.383 に答える
0

これを試して::

select  
count(subend) as count,
curdate() 
from subdur  
where  status='active' and 
subend BETWEEN (date_sub(curdate(),interval 1 month)) and curdate() 
order by subend
于 2013-02-02T08:49:43.817 に答える