Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Memilih Data Antara Tarikh Termasuk Baris Kosong dalam MySQL?

Bagaimana untuk Memilih Data Antara Tarikh Termasuk Baris Kosong dalam MySQL?

Barbara Streisand
Lepaskan: 2024-12-18 10:48:13
asal
336 orang telah melayarinya

How to Select Data Between Dates Including Empty Rows in MySQL?

Memilih Data Antara Tarikh dengan Baris Kosong dalam MySQL

Mendapatkan semula data antara tarikh yang ditentukan daripada pangkalan data ialah tugas biasa. Walau bagaimanapun, ia boleh menjadi mencabar apabila anda juga perlu memasukkan baris kosong dalam julat tarikh. Dalam artikel ini, kami akan meneroka teknik untuk menangani masalah ini dalam MySQL.

Pertimbangkan jadual bernama "tbl" dengan baris yang mengandungi data dan tarikh:

2009-06-25    75
2009-07-01    100
2009-07-02    120
Salin selepas log masuk

Pertanyaan biasa untuk dipilih data antara dua tarikh, katakan '2009-06-25' dan '2009-07-01', akan be:

SELECT data FROM tbl WHERE date BETWEEN '2009-06-25' AND '2009-07-01'
Salin selepas log masuk

Walau bagaimanapun, pertanyaan ini akan terlepas sebarang tarikh kosong dalam julat ini. Untuk memasukkannya, MySQL menawarkan konsep berkuasa yang dikenali sebagai "jadual kalendar."

Jadual kalendar ialah jadual pembantu yang mengandungi satu siri tarikh. Anda boleh menciptanya dengan mudah menggunakan teknik yang ditunjukkan oleh panduan ini:

-- create some infrastructure
CREATE TABLE ints (i INTEGER);
INSERT INTO ints VALUES (0), (1), (2), (3), (4), (5), (6), (7), (8), (9);

-- only works for 100 days, add more ints joins for more
SELECT cal.date, tbl.data
FROM (
    SELECT '2009-06-25' + INTERVAL a.i * 10 + b.i DAY as date
    FROM ints a JOIN ints b
    ORDER BY a.i * 10 + b.i
) cal LEFT JOIN tbl ON cal.date = tbl.date
WHERE cal.date BETWEEN '2009-06-25' AND '2009-07-01';
Salin selepas log masuk

Pertanyaan ini akan mengembalikan semua baris dari '2009-06-25' kepada '2009-07-01', termasuk baris kosong dengan nilai sifar untuk 'data'. Ambil perhatian bahawa anda boleh mengoptimumkan teknik ini dengan menggantikan subkueri dengan jadual kalendar yang dikemas kini secara kerap.

Atas ialah kandungan terperinci Bagaimana untuk Memilih Data Antara Tarikh Termasuk Baris Kosong 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