Anda berada di jalur yang benar sehubungan dengan cara kerja MySQL, memiliki berbagai mode untuk fungsi terkait minggu yang dapat menghasilkan hasil yang berbeda. http://dev.mysql .com/doc/refman/5.5/en/date-and-time-functions.html#function_week
Menurut pemahaman saya, mode MySQL yang setara dengan logika tanggal PHP adalah mode 3, yang merupakan standar tanggal minggu ISO http://en.wikipedia.org/wiki/ISO_week_date
Ini memiliki minggu yang dimulai pada hari Senin dan minggu bernomor 1-53.
Jadi, Anda perlu menggunakan WEEK(date_field, 3)
untuk mendapatkan nilai yang kompatibel dengan PHP.
Sebagai pendekatan alternatif, satu hal yang saya temukan berguna dalam kasus di mana Anda memerlukan kemampuan untuk secara fleksibel menanyakan rentang tanggal atau agregasi yang berbeda (Q1- Q4, H1 - H2, dll.), atau di mana Anda mungkin perlu menggunakan minggu yang berbeda dari Dukungan PHP adalah dengan menggunakan tabel pembantu tanggal di MySQL (mirip dengan apa yang dapat digunakan sebagai tabel dimensi tanggal di gudang data, jika Anda sudah familiar dengan itu). Ini dapat memberi Anda tabel yang nyaman untuk digabungkan untuk mencari rentang tanggal. Sesuatu seperti ini seharusnya bekerja:
http://databobjr.blogspot.com /2012/06/create-date-dimension-table-in-mysql.html