擷取上週(週日開始)的 MySQL 資料
本指南示範如何檢索從上週日開始的過去一週的 MySQL 資料。 我們將利用 MySQL 的日期函數來實現這一點。
MySQL 查詢
以下查詢有效地過濾數據,僅包含從上週日開始的過去 7 天的記錄:
<code class="language-sql">SELECT id FROM tbname WHERE date BETWEEN date_sub(CURDATE(), INTERVAL DAYOFWEEK(CURDATE())-1 DAY) AND CURDATE();</code>
詳細說明
CURDATE()
:傳回目前日期。 DAYOFWEEK(CURDATE())
:確定目前日期是星期幾(1=星期日、2=星期一、...、7=星期六)。 INTERVAL DAYOFWEEK(CURDATE())-1 DAY
:計算要減去的天數才能到達上週日。 如果今天是星期日,則減去 0 天;如果今天是星期一,則減去 1 天,依此類推。 date_sub(CURDATE(), INTERVAL DAYOFWEEK(CURDATE())-1 DAY)
:從目前日期減去計算出的天數,得到上週日的日期。 BETWEEN ... AND CURDATE()
:選擇「日期」列在上週日到目前日期範圍內的記錄。 說明性範例
考慮這個範例表:
id | date |
---|---|
2 | 2011-05-14 09:17:25 |
5 | 2011-05-16 09:17:25 |
6 | 2011-05-17 09:17:25 |
8 | 2011-05-20 09:17:25 |
15 | 2011-05-22 09:17:25 |
執行上面的查詢將會回傳:
id |
---|
5 |
6 |
8 |
這會準確檢索從上週日開始的過去一週內的條目對應的 ID(5、6 和 8)。 請注意,具體結果將取決於執行查詢的當前日期。
以上是如何檢索從週日開始的過去一週的 MySQL 資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!