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

php sql daki en büyük sayı

sql tablomda sira diye bi sutunum var.
bu sutunda 1,5,7,2,4 gibi karışık bi listeleme var.
ben bu satırın en büyük sayısını yazdırmak istiyorum (örnek 7). Bunu nasıl yapabilirim?
+0
-1
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Doğru Cevap

  • 4
    huseyinozkilic adlı üyenin fotoğrafı
    11 yıl önce yazılmış
    7 cevap - 0 soru
    alttaki ORDER BY ile yapabilirsin.
    SELECT id, baslik
    FROM tablo
    ORDER BY secilenbaslik DESC
    
    • axaturk adlı üyenin fotoğrafı axaturk
      select * from TABLO order by sira DESC limit 1
      ama böyle yapınca da son eklenen satırı çağırıyor. Son eklenen değil, en büyük sayı lazım bana. :(
      11 yıl önce yazılmış
    • axaturk adlı üyenin fotoğrafı axaturk
      sira yı INTEGER yapınca düzeldi. Teşekkürler
      11 yıl önce yazılmış

Cevaplar

  • axaturk adlı üyenin fotoğrafı
    11 yıl önce yazılmış
    3 cevap - 2 soru
    Kendi soruma kendim cevap veriyorum. Çünkü çözdüm :)

    diziler ile yaptım :)

    $sar=array();
    
    $aktars = mysql_query ("select * from TABLO order by id asc");
    while ($gos = mysql_fetch_array($aktars)){ $sar[]=$gos['sira']; }
    
    echo  max($sar);
    
  • 1
    hasyer adlı üyenin fotoğrafı
    11 yıl önce yazılmış
    3 cevap - 0 soru
    select * from TABLO order by sira DESC limit 1
    


    buradaki sira alanını sayılar alanı olarak düşünürsek ve bu alanı DESC ile tersten sıralanmasını istersek istediğinizin gerçekleşmesi gerekir. yani şöyleki..

    diyelimki sayilar alanında 3 satır olsun.
    1.satırdaki değer 5
    2.satırdaki değer 7
    3.satırdaki değer 2

    select * from TABLO order by sayilar DESC limit 1
    


    bu sorgunun döndüreceği satır 2.satır yani 7 dir.
    • axaturk adlı üyenin fotoğrafı axaturk
      DESC komutu büyükten küçüğe doğru sıralamıyor. Son EKLENENDEN ilk EKLENENE doğru sıralıyor.
      Eğer büyükten küçüğe doğru sıralasa idi dediğin olurdu :)
      11 yıl önce yazılmış
    • hasyer adlı üyenin fotoğrafı hasyer
      yanlışın var axaturk dediğim şekilde denersen görürsün.
      11 yıl önce yazılmış
    • axaturk adlı üyenin fotoğrafı axaturk
      denedim olmadı. :S
      11 yıl önce yazılmış
    • bensedat18 adlı üyenin fotoğrafı bensedat18
      DESC komutu büyükten küçüğe doğru sıralar. eğer order by id desc dersen yada tarih tablon var ve order by tarih desc dersen evet yeniden eskiye göre sıralar ama burda da mantık zaten büyükten küçüğe doğru sıralıyor olmasıdır. son eklenen id si bir öncekinden 1 fazla olduğu için yada yeni tarih eski bir tarihten büyük kabul edildiği için sıralama aslında büyükten küçüğe doğru bir sıralama olur.
      11 yıl önce yazılmış
    • axaturk adlı üyenin fotoğrafı axaturk
      @bensedat18
      şimdi burda nası sıralayacak? Onu anlamadım @hasyer in dediği mi doğru. benim dediğim mi?
      11 yıl önce yazılmış
    • protest adlı üyenin fotoğrafı protest
      yanılıyorsun.

      eger order ile sıraladıgın alan integer ise; asc ile artan, desc ile azalan sırada olur.
      varchar ise; asc ile sozluk sırası, desc ile ters sözlük sırası
      date ise; asc ile eskiden yeniye, desc ise yeniden eskiye sıralanır.

      ilk kayıt, son kayıt sırası yapmaz.
      11 yıl önce yazılmış
    • axaturk adlı üyenin fotoğrafı axaturk
      @protest. dediğin gibi integer yapınca desc komutuyla en büyük sayıyı veriyor. Teşekkürler
      11 yıl önce yazılmış
    • bensedat18 adlı üyenin fotoğrafı bensedat18
      hasyer arkadaşımızın dediği doğrudur. sen işlemini bir kez daha kontrol etmelisin. muhakkak bir yerde atladığın birşey olmalı.
      11 yıl önce yazılmış
    • axaturk adlı üyenin fotoğrafı axaturk
      Özür dilerim. Hata bende INTEGER yapmadığımdan kaynaklanıyormuş
      11 yıl önce yazılmış
    • protest adlı üyenin fotoğrafı protest
      önemli değil. iyi çalışmalar.
      11 yıl önce yazılmış
  • mcicek adlı üyenin fotoğrafı
    11 yıl önce yazılmış
    37 cevap - 5 soru
    açıkçası kulağınızı biraz tersten tutmuşsunuz,zaten SQL MAX() fonksiyonu ile bunu size sağlıyor.

    ÖRN;

    Select max(puan) tbl_users where status='1'
    


    Burada en yüksek puanı çekecektir.