Penjanaan Tarikh yang Cekap untuk Pelaporan Data
Dalam MySQL, menjana satu siri tarikh dalam julat tertentu adalah penting untuk mencipta laporan data yang komprehensif. Satu pendekatan biasa ialah membuat jadual yang dipenuhi dengan banyak tarikh, tetapi ini bukan penyelesaian yang cekap.
Untuk menangani isu ini, pertimbangkan senario di mana membuat jadual sementara atau tetapan pembolehubah adalah terhad. Untuk menjana tarikh dalam tempoh tertentu, seperti tahun semasa, pertanyaan MySQL berikut menyediakan penyelesaian yang berkesan:
select * from (select adddate('1970-01-01',t4*10000 + t3*1000 + t2*100 + t1*10 + t0) gen_date from (select 0 t0 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t0, (select 0 t1 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t1, (select 0 t2 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t2, (select 0 t3 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t3, (select 0 t4 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t4) v where gen_date between '2017-01-01' and '2017-12-31'
Pertanyaan ini menggunakan siri subkueri bersarang yang menggabungkan nilai berbeza (0-9) kepada buat tarikh dari 1 Januari 1970, hingga 31 Disember 2017. Fungsi adddate() kemudiannya digunakan untuk mengalihkan tarikh ini kepada yang dikehendaki tempoh.
Dengan menggunakan pendekatan ini, anda boleh menjana satu siri tarikh untuk pelaporan dan analisis data dengan cekap, tanpa memerlukan jadual sementara atau penugasan berubah.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjana Tarikh dengan Cekap dalam MySQL untuk Pelaporan Data Tanpa Menggunakan Jadual atau Pembolehubah Sementara?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!