Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mendapatkan Data dari Minggu Lalu Menggunakan Pertanyaan SQL?
Mengekstrak Data daripada Tujuh Hari Terakhir dengan SQL
Panduan ini menunjukkan cara untuk mendapatkan semula data dari minggu lalu menggunakan pertanyaan SQL, mentakrifkan minggu bermula pada hari Ahad. Katakan anda mempunyai jadual dengan lajur 'tarikh' dan data lain yang berkaitan. Objektifnya adalah untuk memilih penyertaan daripada tujuh hari yang lalu.
Contoh Jadual:
Pertimbangkan jadual dengan sampel data berikut:
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 |
Matlamatnya ialah untuk mengekstrak id
nilai 5, 6 dan 8, mewakili data dari minggu sebelumnya.
Pertanyaan SQL:
Pertanyaan MySQL berikut mencapai ini:
<code class="language-sql">SELECT id FROM tbname WHERE date BETWEEN DATE_SUB(NOW(), INTERVAL 7 DAY) AND NOW();</code>
Penjelasan:
Pertanyaan ini menggunakan operator BETWEEN
untuk menapis rekod yang 'tarikh' jatuh dalam jangka masa tertentu. DATE_SUB(NOW(), INTERVAL 7 DAY)
mengira tarikh dan masa tujuh hari sebelum detik semasa (NOW()
). Klausa BETWEEN
kemudian memilih entri antara tarikh yang dikira ini dan tarikh dan masa semasa.
Keputusan:
Pertanyaan mengembalikan perkara berikut:
id |
---|
5 |
6 |
8 |
Nilai id
ini menggambarkan dengan tepat entri data dari minggu lalu. Ambil perhatian bahawa pertanyaan ini mempertimbangkan tujuh hari terakhir tanpa mengira hari dalam seminggu. Untuk definisi minggu yang lebih kompleks (mis., bermula pada hari Ahad), manipulasi tarikh yang lebih canggih mungkin diperlukan, yang berpotensi melibatkan fungsi DAYOFWEEK()
atau serupa.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Data dari Minggu Lalu Menggunakan Pertanyaan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!