Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mengumpul Data MySQL dengan Cekap mengikut Minggu?
Penghimpunan Mengikut Minggu dalam MySQL: Melangkaui DATE_FORMAT
Tidak seperti fungsi TRUNC Oracle yang mudah, MySQL tidak mempunyai kaedah langsung untuk menukar cap masa kepada Ahad sebelumnya tengah malam. Untuk menangani cabaran ini, pengguna MySQL mesti menggunakan teknik alternatif.
Satu pendekatan ialah menggabungkan fungsi YEAR dan WEEK, seperti:
SELECT YEAR(timestamp), WEEK(timestamp), ... FROM ... GROUP BY YEAR(timestamp), WEEK(timestamp)
Pilihan lain ialah menggunakan fungsi YEARWEEK, dengan parameter mod pilihan untuk mengawal cara minggu yang merentas 1 Januari dikendalikan.
SELECT YEARWEEK(mysqldatefield, mode) AS week, ... FROM ... GROUP BY week
Dengan menggabungkan ini tarikh berfungsi dalam satu ungkapan, adalah mungkin untuk mendapatkan pengelompokan minggu yang diingini:
SELECT YEAR(timestamp) || '/' || WEEK(timestamp) AS week, ... FROM ... GROUP BY week
Untuk kes di mana minggu yang tidak lengkap pada awal atau akhir tahun tidak diingini, pendekatan YEAR/WEEK mungkin diutamakan . Sebagai alternatif, YEARWEEK boleh digunakan dengan mod ditetapkan kepada 0 atau 2 kepada kumpulan mengikut minggu yang lengkap, termasuk jika ia berlangsung pada 1 Januari.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengumpul Data MySQL dengan Cekap mengikut Minggu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!