Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

Sql den tarihe göre veri çekme

Şu şekilde bir tablom var adı "dosyalar";

dosya gonderen tarih
001.php ahmet 2011-04-11 01:42:52
002.php mehmet 2011-04-12 01:43:52
003.php ali 2011-04-10 01:45:52
004.php ahmet 2011-04-11 01:55:52
005.php ali 2011-04-12 01:48:52
006.php veysel 2011-04-11 01:49:52
007.php ahmet 2011-04-11 01:51:52
008.php ahmet 2011-03-12 01:26:52
009.php ahmet 2011-02-12 01:46:52

bu tablodan istatistiksel veri almak istiyorum, son 24 saatte en çok dosya gönderen 5 kişiyi nasıl alabilirim?
çıktı şu şekilde olacak;
Şu an tarih saat şu şekilde kabul edersek; 2011-04-12 12:40:45

ahmet 3 dosya
ali 2 dosya
veyse 1 dosya
mehmet 1 dosya
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Doğru Cevap

  • iason adlı üyenin fotoğrafı
    9 yıl önce yazılmış
    6 cevap - 0 soru
    select isim, count(dosya_adi) from dosyalar where tarih between getdate()-1 and getdate() group by isim


    tarih aralığı için getdate() mssql'de kullanılan şekli. mysqlde nasıl oluyor bilmiyorum. getdate()-1 dendiğinde 1 gün çıkartıyor şimdiki tarihten. mysqlde de buna benzer bir kullanım vardır.
    • fahrenhayt46 adlı üyenin fotoğrafı fahrenhayt46
      select isim, count(dosyaAdi) from dosyalar where tarih>= DATE_SUB(CURDATE(), INTERVAL 1 MONTH) group by isim


      Bu şekilde hallettim, örnekte 1 aylık veri çekiliyor,
      @iason
      teşekkürler group by aklıma gelmemişti.
      9 yıl önce yazılmış
    • yudu adlı üyenin fotoğrafı yudu
      arkadaşım veri tabanında tür olarak ne kullanıyorsun bn sorgulama yaparken hata alıyorum da ondan mı acaba
      9 yıl önce yazılmış
    • fahrenhayt46 adlı üyenin fotoğrafı fahrenhayt46
      tam hatırlayamadım şimdi ama curdate() yerine now() kullanarak deneyebilirsin, olmazsa date_sub yerine date_sub_now dene bende de hata oluyordu bu iki seçeneğin biriyle düzelttim ama hangisiydi tam hatırlayamadım, öncelikli olarak now() denemeni öneririrm,
      9 yıl önce yazılmış

Cevaplar

  • Kemal adlı üyenin fotoğrafı
    9 yıl önce yazılmış
    63 cevap - 10 soru
    select * from dosyalar where DATE(tarih)='2011-04-10' 
    gibi çekebilirsiniz.
    • fahrenhayt46 adlı üyenin fotoğrafı fahrenhayt46
      Buraya kadar tamam ama sonrası, kim ne kadar dosya göndermiş,
      9 yıl önce yazılmış