2016-02-16 75 views
0

当查找这个数据时,发现的大多数结果都是从今天开始的一系列日期到从现在开始说30天。我只是在寻找的结果是14,从今天7,第3和第1天(每individualy)得到的sql结果的时间戳日期是从今天起的n天

继承人的SQL我到目前为止

SELECT * FROM Location WHERE timestamp (CURDATE() + 14 Day) 

这将是SQL获得具有所有地点一个时间戳是从现在开始的14天(这是发送提醒通讯fyi)。

而且这事不应该什么时间那一天是,如果可能的话,应该抓住从那天起,所有的时间戳结果

回答

0
SELECT * FROM Location 
WHERE DATE(timestamp) IN (
    DATE_ADD(CURDATE(), INTERVAL 14 DAY), 
    DATE_ADD(CURDATE(), INTERVAL 7 DAY), 
    DATE_ADD(CURDATE(), INTERVAL 3 DAY), 
    DATE_ADD(CURDATE(), INTERVAL 1 DAY) 
); 

参考:MySQL add days to a date

+0

这将是每一个单独的SQL查询,因为它们是完全不同的邮件列表......所以这项工作? SELECT * FROM Location WHERE DATE(timestamp)IN(DATE_ADD(CURDATE(),INTERVAL 1 DAY)); –

+0

是的,它会工作。更好的是,你可以使用“=”来代替“IN”。 – Tin

+0

谢谢,快速的问题,如果你可以帮助我,我不想不得不发表另一个问题,我有另一个SQL语句之后来到这个使用WHERE NOT EXISTS ...和IM即时尝试添加AND之后不存在的声明....但它不工作。 $ use =“select * from”。$ usertable。“u where where exists(select * from”。$ usermetatable。“m其中m.meta_key ='course_progress'和m.user_id = u.ID)AND m.meta_value = ” $位置; –

相关问题