Merhaba aynı güne ati günlük yaklaşık 35-40 kayıt oluyor, ben veriler, yıl-ay-gün ve saat olarak kayıtlı, ben bu haftada sadece haftalık verilerden bir tanesini çekmek istiyorum, örneğin o günün son kaydını, aynı şekilde ay olarak ta çekmek istiyorum, bunu nasıl bir sorgu ile yapabilirim,
Örneğin
Günlük
SELECT * FROM tabloadiWHERE tarih >= DATE_SUB( CURDATE( ) , INTERVAL 1 DAY ) AND kategori = $doviz ORDER BY tarih ASC
veya
SELECT * FROM tabloAdi WHERE DAY(tarih) = DAY(CURDATE());
Haftalık
SELECT * FROM tabloadiWHERE tarih >= DATE_SUB( CURDATE( ) , INTERVAL 7 DAY ) AND kategori = $doviz ORDER BY tarih ASC
veya
SELECT * FROM tabloAdi WHERE WEEK(tarih) = WEEK(CURDATE());
Aylık
SELECT * FROM tabloadiWHERE tarih >= DATE_SUB( CURDATE( ) , INTERVAL 30 DAY ) AND kategori = $doviz ORDER BY tarih ASC
veya
SELECT * FROM tabloAdi WHERE MONTH(tarih) = MONTH(CURDATE());
Şimdi bu şekilde tüm kayıtlar listeleniyor, o güne ait 35-40 kayıt aya vurunca da baya bir kayıt oluyor, bunun içinden sadece birer gün olacak şekilde, örneğin haftada sadece hafta içi günleri (pazartesiden cuma gününe kadar), ayda sadece hafta içi günleri (pazartesiden cuma gününe kadar) gibi,
Teşekkürler.
MySQL de gün verilerini çekmel
2
●77
- 15-02-2020, 15:47:17limit 0,1 diye ekleyerek 1tane kayıt çekebilirsin. asc yerinede desc kullanırsan son ekleneni almış olursun
- 15-02-2020, 16:20:24Cevabınız için teşekkürler, fakat bu şekilde en son eklenen veriyi çeker, ben o hafta içindeki pazartesiden 1 tane salıdan 1 tane, ... cumadan 1 tane veri çekmesini istiyorum.TuorElanesse adlı üyeden alıntı: mesajı görüntüle
SELECT * FROM
(SELECT * FROM doviz WHERE tarih >= DATE_SUB( CURDATE( ) , INTERVAL 7 DAY ) AND kategori = 1 ORDER BY tarih ASC
) AS T WHERE kategori = 1 AND id %20 = 1 şöyle bir komut ile geçici bir çözüm buldum, kalıcı birşey aramaya devam ediyorum.