首頁 >資料庫 >mysql教程 >INTERVAL 和 CURDATE 如何簡化 MySQL 中的日期範圍查詢?

INTERVAL 和 CURDATE 如何簡化 MySQL 中的日期範圍查詢?

Barbara Streisand
Barbara Streisand原創
2024-10-27 03:36:29568瀏覽

How can INTERVAL and CURDATE simplify date range queries in MySQL?

在 MySQL 中使用 INTERVAL 和 CURDATE

在 MySQL 中,您可以利用 INTERVAL 來簡化涉及日期範圍的查詢。您可以使用 INTERVAL 指定相對於目前日期的範圍,而不是編寫多個查詢來檢索不同時間段的資料。

例如,要檢索過去12 個月的數據,您可以使用以下命令查詢:

<code class="sql">SELECT s.GSP_nom AS nom, timestamp, AVG( v.vote +  v.prix  ) /2 AS avg
FROM votes_serveur AS v
INNER JOIN serveur AS s ON v.idServ = s.idServ
WHERE s.valide =1
AND v.date > DATE_SUB(CURDATE(), INTERVAL 12 MONTH)
GROUP BY s.GSP_nom
ORDER BY avg DESC</code>

在此查詢中,INTERVAL 12 MONTH 指定相對於當前日期的12 個月範圍。透過使用 DATE_SUB 從 CURDATE() 中減去此間隔,您可以定義範圍的開始。

或者,您可以使用 DATE_ADD 將間隔新增至目前日期。例如,以下查詢會擷取接下來 6 個月的資料:

<code class="sql">SELECT s.GSP_nom AS nom, timestamp, AVG( v.vote +  v.prix  ) /2 AS avg
FROM votes_serveur AS v
INNER JOIN serveur AS s ON v.idServ = s.idServ
WHERE s.valide =1
AND v.date < DATE_ADD(CURDATE(), INTERVAL 6 MONTH)
GROUP BY s.GSP_nom
ORDER BY avg DESC</code>

透過了解 INTERVAL 的用法,您可以在 MySQL 中處理日期範圍時簡化查詢。

以上是INTERVAL 和 CURDATE 如何簡化 MySQL 中的日期範圍查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn