我有一张名为tbl_subscriptions的表格,包含"ID,用户姓名,加入日期(date)"等列。我想根据加入日期在每个月的前7天选择用户,以便我可以向他们发送通知,让他们续订下一个月的订阅服务。我的记录如下:
1, user1, 2014-05-02
2, user2, 2014-05-04
3, user3, 2014-06-12
4, user4, 2014-06-20
4, user5, 2014-07-24
如果今天是2014年7月28日,那么我想获取记录1和2。我尝试了以下查询。
SELECT *,
datediff( date_format(date, '2014-07-%d'), now() ) as daysLeft
FROM tbl_subscriptions
HAVING daysLeft >= 0
AND daysLeft < 7
以上SQL的问题在于它只选择当前月份的记录,请建议更好的查询。