Rumah >pangkalan data >tutorial mysql >Bagaimanakah INTERVAL dan CURDATE dapat memudahkan pertanyaan julat tarikh dalam MySQL?

Bagaimanakah INTERVAL dan CURDATE dapat memudahkan pertanyaan julat tarikh dalam MySQL?

Barbara Streisand
Barbara Streisandasal
2024-10-27 03:36:29568semak imbas

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

Bekerja dengan INTERVAL dan CURDATE dalam MySQL

Dalam MySQL, anda boleh menggunakan INTERVAL untuk memudahkan pertanyaan yang melibatkan julat tarikh. Daripada menulis berbilang pertanyaan untuk mendapatkan data untuk tempoh masa yang berbeza, anda boleh menggunakan INTERVAL untuk menentukan julat berbanding tarikh semasa.

Sebagai contoh, untuk mendapatkan semula data selama 12 bulan yang lalu, anda boleh menggunakan yang berikut pertanyaan:

<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>

Dalam pertanyaan ini, INTERVAL 12 MONTH menentukan julat 12 bulan berbanding tarikh semasa. Dengan menggunakan DATE_SUB untuk menolak selang ini daripada CURDATE(), anda mentakrifkan permulaan julat.

Sebagai alternatif, anda boleh menggunakan DATE_ADD untuk menambah selang pada tarikh semasa. Contohnya, pertanyaan berikut mendapatkan semula data untuk 6 bulan akan datang:

<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>

Dengan memahami penggunaan INTERVAL, anda boleh menyelaraskan pertanyaan anda apabila bekerja dengan julat tarikh dalam MySQL.

Atas ialah kandungan terperinci Bagaimanakah INTERVAL dan CURDATE dapat memudahkan pertanyaan julat tarikh dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn