Rumah >pangkalan data >tutorial mysql >Bagaimanakah INTERVAL dan CURDATE dapat memudahkan pertanyaan julat tarikh dalam 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!