Mengekstrak Data MySQL untuk Minggu Terakhir (Mula Ahad)
Panduan ini menunjukkan cara untuk mendapatkan semula data MySQL dari minggu lalu, bermula pada hari Ahad sebelumnya. Kami akan memanfaatkan fungsi tarikh MySQL untuk mencapai ini.
Pertanyaan MySQL
Pertanyaan berikut menapis data dengan cekap untuk memasukkan hanya rekod dari tujuh hari yang lalu, bermula dari Ahad sebelumnya:
<code class="language-sql">SELECT id FROM tbname WHERE date BETWEEN date_sub(CURDATE(), INTERVAL DAYOFWEEK(CURDATE())-1 DAY) AND CURDATE();</code>
Penjelasan Terperinci
CURDATE()
: Mengembalikan tarikh semasa.DAYOFWEEK(CURDATE())
: Menentukan hari dalam seminggu (1=Ahad, 2=Isnin,...,7=Sabtu) untuk tarikh semasa.INTERVAL DAYOFWEEK(CURDATE())-1 DAY
: Mengira bilangan hari untuk ditolak untuk mencapai hari Ahad sebelumnya. Jika hari ini hari Ahad, tolak 0 hari; kalau hari ini isnin, tolak 1 hari, dan seterusnya.date_sub(CURDATE(), INTERVAL DAYOFWEEK(CURDATE())-1 DAY)
: Menolak bilangan hari yang dikira daripada tarikh semasa, menghasilkan tarikh Ahad sebelumnya.BETWEEN ... AND CURDATE()
: Memilih rekod yang lajur 'tarikh' berada dalam julat dari Ahad sebelumnya hingga tarikh semasa.Contoh Ilustrasi
Pertimbangkan jadual contoh ini:
id | date |
---|---|
2 | 2011-05-14 09:17:25 |
5 | 2011-05-16 09:17:25 |
6 | 2011-05-17 09:17:25 |
8 | 2011-05-20 09:17:25 |
15 | 2011-05-22 09:17:25 |
Menjalankan pertanyaan di atas akan kembali:
id |
---|
5 |
6 |
8 |
Ini dengan tepat mendapatkan ID (5, 6, dan 8) yang sepadan dengan entri dalam minggu lalu, bermula dari Ahad sebelumnya. Ambil perhatian bahawa keputusan khusus akan bergantung pada tarikh semasa apabila pertanyaan dilaksanakan.
Atas ialah kandungan terperinci Bagaimana untuk Mengambil Data MySQL dari Minggu Lalu Bermula pada Ahad?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!