【问题标题】:how to get the records according to date如何根据日期获取记录
【发布时间】:2013-12-04 13:22:49
【问题描述】:

您好,我需要获取到期日期附近的记录列表(即,如果产品到期日期是 2013 年 12 月 11 日,管理员对该产品的警报是 5 天。管理员将从 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

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

【问题讨论】:

    标签: mysql


    【解决方案1】:

    试试这个。 对于过期数据,您可以再添加一列,例如活动或非活动。 以下将根据提醒类型和到期日期通过关闭记录来排序它
    它看起来很容易查询,但效果很好。

    SELECT * FROM alerts ORDER BY due_date, reminder_type DESC
    

    如果您再添加一列 init,则查询将是:

    SELECT * FROM alerts WHERE active='Y' ORDER BY due_date, reminder_type DESC
    

    通过添加列将值得您整理出有多少记录已过期。

    【讨论】:

    • 这不是我需要的。
    猜你喜欢
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-13
    • 1970-01-01
    • 2020-11-10
    相关资源
    最近更新 更多