v2.5.2
Giriş yap

mysql saniyeye göre veri çekme

zehrabilkin
371 defa görüntülendi

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

Cevap yaz
Cevaplar (2)
tayfunerbilen
682 gün önce

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);
codepacks
680 gün önce

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.