MySQL'de Haftanın Kayıtları Nasıl Bulunur?
Genelde istatistikleri göstereceğimiz zaman, haftalık satışı ya da haftalık gelir/gider gibi şeyleri göstermek gerekebiliyor. Bu durumda öncelikle haftalık kayıtları bulmak gerekiyor. Bunun için mysql'de YEARWEEK()
fonksiyonunu kullanıyoruz. Bu yılın haftasını bulmamızı sağlıyor, kullanımı ise şöyle;
SELECT YEARWEEK('2019-06-12')
Eğer mevcut tarihe göre almak istersek CURDATE()
fonksiyonu ile birlikte kullanabiliriz. Örneğin;
SELECT YEARWEEK(CURDATE())
O halde, haftanın kayıtlarını şu şekilde bulabiliriz demek oluyor.
SELECT * FROM tablo_adi
WHERE YEARWEEK(tablo_adi.tarih_kolonu) = YEARWEEK(CURDATE())
Biz bu örnekte mevcut tarih neyse onun haftasını baz alarak haftalık veriyi aldık. Ancak CURDATE()
yerine bir tarih belirleyip onun haftasına uyan kayıtlarıda alabilirdik.
Şimdi tek bir sorunumuz var, bu şekilde haftalık dilimler Pazar'dan Pazar'a oluyor. Bunun başlangıcını Pazartesi'ye çekmemiz lazım çünkü bizim hafta başlangıcımız Pazartesi :) O zaman kodlarımızı şöyle değiştirmemiz yeterli oluyor.
SELECT * FROM tablo_adi
WHERE YEARWEEK(tablo_adi.tarih_kolonu, 1) = YEARWEEK(CURDATE(), 1)