![](/img/trans.png)
[英]SQL query to get records of before last 30 days( Not last 30 days )
[英]sql query to fetch the records of next 30 days
這是我的問題,我想從表中獲取未來30天的記錄。 我的桌子上有一個字段。 例如:在我的表中,我有resource_date
,在此列中,我有許多記錄,從2013-02-05
到2015-10-10
。 假設,如果我今天登錄該網站(今天的日期是- 16/01/2015
年1月16日,它應該獲取接下來15天的記錄,依此類推)。 這個怎么做? 提前致謝
一種方法
SELECT *
FROM table1
WHERE resource_date >= CURDATE() + INTERVAL 1 DAY -- skip today
AND resource_date < CURDATE() + INTERVAL 17 DAY -- 15 days starting tomorrow
這是一個SQLFiddle演示
在MySQL中,可以使用NOW()
函數獲取當前的DATETIME
,並使用INTERVAL
關鍵字獲取時間間隔。
因此,要獲取resource_date
在未來30天內的記錄,可以使用:
SELECT *
FROM `my_table_name`
WHERE `resource_date` >= NOW()
AND `resource_date` < NOW() + INTERVAL 1 MONTH
;
實際上,您應該很少使用SELECT *
,並且應該考慮向此查詢添加一個LIMIT
,以防止您的應用程序返回“太大”的結果集。
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html
...
WHERE
'resource_date'> NOW() AND
'resource_date'< DATE_ADD(NOW(), INTERVAL 31 DAY);
小心一點,我想now()需要幾分鍾和幾小時,所以您會錯過一天的一部分。
WHERE resource_date >= CURDATE() AND resource_date <= DATE_ADD(CURDATE(), interval 15 DAY)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.