您需要获取到期日期即将到来的记录列表(即,如果产品到期日期为2013年12月11日,并且此产品的管理员提供的警报为5天.Admin将从2013年12月6日开始提醒)以下是我的表
+---------+--------------+-------------------+
| id | due_date | reminder_type |
+---------+--------------+-------------------+
| 1 | 2013-12-11 | 5 day |
| 2 | 2014-12-11 | 5 month |
| 3 | 2015-12-11 | 5 day |
| 4 | 2013-12-19 | 5 day |
+---------+--------------+-------------------+
SELECT * , CONCAT( 'date_add(NOW( ) ,INTERVAL', reminder_type, ')' ) AS x
FROM `alerts`
HAVING `due_date` = x
我尝试了上面的查询,但它不起作用。
答案 0 :(得分:0)
试试这个。 对于过期数据,您可以添加一个列,如活动或非活动。 以下将根据提醒类型和到期_date结束记录 它看起来很容易查询,但效果很好。
SELECT * FROM alerts ORDER BY due_date, reminder_type DESC
如果再添加一列init,那么查询将是:
SELECT * FROM alerts WHERE active='Y' ORDER BY due_date, reminder_type DESC
通过添加列值得,你可以理清有多少记录已过期。