在 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中文網其他相關文章!