mysql saniyeye göre veri çekme
merhabalar mysqlden eklenen verilere göre timestamp olarak tarih tutuyorum
son 30 saniyede eklenene verileri çektirmem gerkiyor saniye olarak nasıl çekicem yardım
edermisiniz
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (2)
tarihleri tuttugun kolon adinin tarih
oldugunu varsayarsak soyle bir sql kodu isini gorecektir:
select * from tablo_adi
where TIMESTAMPDIFF(SECOND, tarih, now()) > 30;
ya da soyle bir sey kullanabilirsin:
select * from tablo_adi
where tarih > (now() - INTERVAL 30 SECOND);
MySQL veritabanı kullanarak verileri saniyelerle sınırlamak için, sorgunuzda "WHERE" komutunu kullanabilirsiniz.
Örneğin, son bir saat içinde oluşan verileri çekmek isterseniz, aşağıdaki gibi bir sorgu kullanabilirsiniz:
SELECT * FROM tablo_adi WHERE zaman_sutunu >= DATE_SUB(NOW(), INTERVAL 1 HOUR);
Bu sorgu "tablo_adi" tablosunda "zaman_sutunu" sütununda kayıtlı olan verileri verir ve bu verilerin oluşma zamanı,
şu andan 1 saat öncesine eşit veya daha yeni olmalıdır.
DATE_SUB() fonksiyonu MySQL'de zaman dilimleri için kullanılan bir fonksiyondur.
Bu fonksiyon verilen bir zaman dilimi, verilen bir zamandan önceki bir zaman dilimini elde etmek için kullanılabilir.
"NOW()" fonksiyonu ise şu anki tarih ve saati döndürür.
Aynı şekilde, saniye cinsinden de sorgu yapabilirsiniz. Örnek:
SELECT * FROM tablo_adi WHERE zaman_sutunu >= DATE_SUB(NOW(), INTERVAL 30 SECOND);
Bu sorgu son 30 saniye içinde oluşan verileri verir.