Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mendapatkan Rekod Bulan Lalu dengan Cekap daripada Jadual Pelayan SQL?
Masalah:
Dapatkan rekod daripada jadual pangkalan data [ahli] yang jatuh dalam bulan sebelumnya, berdasarkan tarikh_dicipta medan.
Penyelesaian:
Untuk mendapatkan semula rekod bulan lepas dengan cekap dan tepat, kita perlu mengelakkan perangkap tertentu dan menggunakan pendekatan berikut:
Gunakan Julat Eksklusif Penapisan:
Daripada menggunakan julat inklusif (cth., ANTARA operator), gunakan penapisan julat eksklusif dengan > dan < pengendali. Ini memastikan bahawa rekod dari kedua-dua hari pertama dan terakhir bulan disertakan.
Kira Sempadan Bulan:
Terbitkan permulaan bulan sebelumnya dan permulaan bulan semasa menggunakan fungsi tarikh yang sesuai. Ini mengelakkan potensi isu yang disebabkan oleh julat sempadan atas yang inklusif.
Sampel Pertanyaan:
DECLARE @startOfCurrentMonth DATETIME SET @startOfCurrentMonth = DATEADD(month, DATEDIFF(month, 0, CURRENT_TIMESTAMP), 0) SELECT * FROM Member WHERE date_created >= DATEADD(month, -1, @startOfCurrentMonth) AND date_created < @startOfCurrentMonth
Pendekatan ini memastikan indeks digunakan, data rasuah dicegah dan rekod yang betul diperoleh semula dalam tempoh masa yang ditetapkan.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Rekod Bulan Lalu dengan Cekap daripada Jadual Pelayan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!