Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Memilih Rekod untuk Minggu Tertentu dalam MySQL: Isnin hingga Ahad atau Ahad hingga Sabtu?

Bagaimana untuk Memilih Rekod untuk Minggu Tertentu dalam MySQL: Isnin hingga Ahad atau Ahad hingga Sabtu?

Barbara Streisand
Barbara Streisandasal
2024-10-26 21:40:02536semak imbas

How to Select Records for a Specific Week in MySQL: Monday to Sunday or Sunday to Saturday?

MySQL: Memilih Rekod untuk Seminggu

Masalah Awal:
Cara untuk mendapatkan semula rekod daripada jadual untuk minggu tertentu, diberi tarikh tertentu?

Algoritma Tradisional:

  1. Tentukan hari dalam minggu untuk tarikh yang ditentukan.
  2. Kira bilangan hari ke hari Isnin yang terdekat.
  3. Kira tarikh untuk hari Isnin dan Ahad minggu itu.
  4. Lakukan pertanyaan untuk mendapatkan semula rekod dalam julat tarikh yang dikira.

Algoritma Lebih Pendek (Menggunakan Fungsi YEARWEEK() MySQL):

SELECT *
FROM   your_table
WHERE  YEARWEEK(`date`, 1) = YEARWEEK(CURDATE(), 1)

Penjelasan:

  • YEARWEEK () fungsi mengambil tarikh dan parameter pilihan (1 dalam kes ini) yang menentukan hari pertama dalam minggu (Isnin).
  • Dengan membandingkan YEARWEEK() untuk tarikh (tarikh) yang ditentukan dengan YEARWEEK () untuk tarikh semasa (CURDATE()), pertanyaan memilih rekod yang tergolong dalam minggu yang sama.

Menjawab Soalan Tambahan:

The pertanyaan yang disediakan yang digunakan oleh pengguna memilih rekod untuk minggu dari Ahad hingga Sabtu, bukannya Isnin hingga Ahad. Untuk membetulkannya, pengubahsuaian berikut boleh dibuat:

SELECT *
FROM   your_table
WHERE  YEARWEEK(`date`, 3) = YEARWEEK(CURDATE(), 3)
  • Parameter pilihan 3 menentukan hari pertama dalam minggu sebagai Isnin dan bukannya Ahad.

Atas ialah kandungan terperinci Bagaimana untuk Memilih Rekod untuk Minggu Tertentu dalam MySQL: Isnin hingga Ahad atau Ahad hingga Sabtu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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