如何根据日期获取记录

时间:2013-12-04 13:22:49

标签: mysql

您需要获取到期日期即将到来的记录列表(即,如果产品到期日期为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

我尝试了上面的查询,但它不起作用。

1 个答案:

答案 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

通过添加列值得,你可以理清有多少记录已过期。