簡體   English   中英

"在mysql中選擇前一周的記錄"

[英]Select records from one week previous in mysql

我有一個包含日期 (Ymd H:i:s) 列的數據(類型是日期時間)。 我想選擇輸入日期前 1 周的所有記錄(在下面的示例中:2011-09-17 00:00:00,但遇到了一些麻煩。這就是我所得到的:

SELECT * FROM emails WHERE (DATE(date) = date_sub(date('2011-09-17 00:00:00'), 1 week))

我認為您在1 week的前期錯過了INTERVAL

SELECT *
FROM emails
WHERE (DATE(date) = date_sub(date('2011-09-17 00:00:00'), INTERVAL 1 week));

這是我運行的對DATE_SUB()部分有效的查詢:

SELECT *
FROM wp_posts
WHERE post_modified > DATE_SUB(CURDATE(), INTERVAL 4 WEEK);

您可以使用負值來執行“給定日期前N周”的查詢,這樣可以正常工作:

SELECT *
FROM wp_posts
WHERE post_modified > DATE_SUB(CURDATE(), INTERVAL -1 WEEK);

要么:

SELECT *
FROM emails
WHERE (DATE(date) = date_sub(date('2011-09-17 00:00:00'), INTERVAL -1 week))
SELECT * FROM wp_posts
WHERE post_modified  
BETWEEN SYSDATE() - INTERVAL 7 DAY
AND SYSDATE();

試試這個,我喜歡堅持使用DATE_ADD,只是使用一個負值。

SELECT * FROM emails WHERE date >= DATE_ADD('2011-09-17 00:00:00', INTERVAL -1 WEEK)

我的問題是:如果用戶在 7 天訂閱自動取消后分配了 7 天訂閱,如何管理訂閱? 請根據mysql查詢指導我。

"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM