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

Barbara Streisand
Lepaskan: 2024-10-27 03:36:29
asal
463 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!