MySQL ile tarih sorguları

MySQL ile gelişmiş tarih sorguları yapmak ister misiniz? Örneğin geçen haftanın, ya da belli tarih aralığındaki verileri çekmek? İşte bunlardan birkaç tane örneklendiriyorum.

MySQL ile tarih sorguları

Birkaç örnek ile tarih sorgularını inceleyelim.

Mysql ile son 15 günün kayıtları için sql sorgusu

[SQL]select * from veri_tablo where tarih >= DATE_SUB(CURDATE(), INTERVAL 15 DAY) [/SQL]

Bugün de dahil olmak üzere son 15 günün verilerini çektik böylelikle.

Ancak bugünün yazıları dahil olmasın isteyebilirsiniz. O zaman şöyle kullanacağız;

[SQL]SELECT * FROM veri_tablo WHERE tarih BETWEEN DATE_SUB( CURDATE( ) ,INTERVAL 15 DAY ) AND CURDATE( ) [/SQL]

Mysql ile son 1 ayın kayıtları için sql sorgusu

[SQL]select * from veri_tablo where tarih >= DATE_SUB(CURDATE(), INTERVAL 1 MONTH)[/SQL]

Mysql ile son 1 yılın kayıtları için sql sorgusu

[SQL]select * from veri_tablo where tarih >= DATE_SUB(CURDATE(), INTERVAL 1 YEAR)[/SQL]

Mysql ile belirli tarih aralıklarındaki kayıtlar için sql sorgusu

Son 1 aylık örneğinden farklı olarak son 3 ayın kayıtlarını alacağız. Fakat bu aya ait yazıları çıkarıyoruz.

[SQL]select * from veri_tablo where tarih BETWEEN DATE_SUB( CURDATE( ) ,INTERVAL 3 MONTH ) AND DATE_SUB( CURDATE( ) ,INTERVAL 0 MONTH )[/SQL]

Bu kez son 6 ile 3 ay arasındaki kayıtları alalım.

[SQL]select * from veri_tablo where tarih BETWEEN DATE_SUB( CURDATE( ) ,INTERVAL 6 MONTH ) AND DATE_SUB( CURDATE( ) ,INTERVAL 3 MONTH ) [/SQL]

Şimdi ise son 6 ay ile 12 ay arasındaki kayıtları alıyoruz.

[SQL]select * from veri_tablo where tarih BETWEEN DATE_SUB( CURDATE( ) ,INTERVAL 12 MONTH ) AND DATE_SUB( CURDATE( ) ,INTERVAL 6 MONTH )[/SQL]

Mysql ile o günün kayıtları için sql sorgusu

[SQL]select * from veri_tablo where tarih = CURDATE() [/SQL]

Mysql ile dünün kayıtları için sql sorgusu

[SQL]select * from veri_tablo where WHERE tarih = DATE_SUB(CURDATE(),INTERVAL 1 DAY) [/SQL]

Mysql ile o haftanın kayıtları için sql sorgusu

[SQL]select * from veri_tablo where WHERE YEARWEEK(tarih) = YEARWEEK(CURRENT_DATE) [/SQL]

Mysql ile geçen haftanın kayıtları için sql sorgusu

[SQL]select * from veri_tablo where WHERE YEARWEEK(tarih) = YEARWEEK(CURRENT_DATE – INTERVAL 7 DAY) [/SQL]

Kaynaklar

Kod örnekleri aşağıdaki başlıklardan alınmış ve düzenlenmiştir.

  1. Mysql Query Current Week, Last Week, and Current Month
  2. Getting the recent one month or year records from MySQL table