我的应用程序中有一个表(mysql),用于存储用户详细信息。在这些字段中,用户可以保存其警报设置即我们将提醒用户他们保存的日期。
我的表格似乎是
id | Username | name | alert_date | repeat_on
--------------------------------------------------------------------------------
12 | user_name | name | 2013-08-12 00:00:00 | 30
15 | user_nam2 | name | 2013-05-12 00:00:00 | 45
--------------------------------------------------------------------------------
通过cron-job,我们会向用户发送提醒电子邮件和短信。像
select * from users where date(alert_date)=CURRENT_DATE
它的工作正常,但有一个选项可以根据“repeat_on”天重复警报。就像我们必须在alert_date中每隔30天(或任何时候)重复警报。我被困在这里查询。请问有人帮我一把吗?
还有一个疑问是,这个表的正确结构是一样的吗?
提前致谢
答案 0 :(得分:1)
尝试:
SELECT * FROM users
WHERE alert_date <= CURRENT_DATE AND DATE_ADD(alert_date, INTERVAL repeat_on DAY) >= CURRENT_DATE