Selamlar Şimdi elimde bir tablo da 3 tane alan var diyelim a1 a2 a3. Yapmak istediğim de
a3 ün 2 olduğu ve a2 değerinin en büyük olduğu iki tane a1 değerini bul.Yani tablodaki en büyük iki a2 değerini seçecek tabi a3 ün 2 olduğu satırlardaki ve bu satırlardaki a1 değerlerini alacağım.Nasıl bir SQL sorgusu kullanmalıyım.
Çok teşekkür ederim.Evet php ile yapacağım.Buradaki 2 rakamı örnek içindi.DAha fazla rakam kullanabilirim.Onun için 2.SQL ile almam daha iyi olur. Çok teşekkürler.
$sorgu=mysql_query("SELECT a1 FROM tabloadi WHERE a3='2' ORDER BY a2 DESC"); $kayitlar=mysql_fetch_array($sorgu); for ($i=0;$i<10;$i++) echo mysql_result($sorgu,$i);
Daha uygun olur.
Veya kaç tane alacağınızı sorguda belirleyip, while döngüsü kullanabilirsiniz.
$sorgu=mysql_query("SELECT a1 FROM tabloadi WHERE a3='2' ORDER BY a2 DESC LIMIT 0,2"); while ($kayitlar=mysql_fetch_array($sorgu)) echo $kayitlar[a1];
LIMIT 0,2 => Sıfırıncı kayıttan başla 2 tane kayıt al, LIMIT 10,2 => Onuncu kayıttan başla 2 tane kayıt al şeklinde kullanılabilir.
$sorgu=mysql_query("SELECT a1 FROM tabloadi WHERE a3='2' ORDER BY a2 DESC"); $kayitlar=mysql_fetch_array($sorgu); for ($i=0;$i<10;$i++) echo mysql_result($sorgu,$i);
Daha uygun olur.
Veya kaç tane alacağınızı sorguda belirleyip, while döngüsü kullanabilirsiniz.
$sorgu=mysql_query("SELECT a1 FROM tabloadi WHERE a3='2' ORDER BY a2 DESC LIMIT 0,2"); while ($kayitlar=mysql_fetch_array($sorgu)) echo $kayitlar[a1];
LIMIT 0,2 => Sıfırıncı kayıttan başla 2 tane kayıt al, LIMIT 10,2 => Onuncu kayıttan başla 2 tane kayıt al şeklinde kullanılabilir.
$i = 38; $sorgu=mysql_query("SELECT a1 FROM tabloadi WHERE a3='2' ORDER BY a2 DESC LIMIT $i"); ...şeklinde, sorgunun içine değişkenle de gönderilebilir.
Bildiğim kadarıyla LIMIT için başlangıç parametresi vermezsek sıfırdan başlıyor.
Herekese teşekkürler.Bir sorunum daha oldu.Elimdeki tabloda 2 tane alan var. a1 ve a2 olsun.Şimdi ben bu değerleri sql cümlesiyle tamamını alıyorum. SELECT * FROM tablo_adi diyerek.SQL bir kere sorgulama yaparak istediğim a1 değerindeki a2 değerini bulabilir miyim? Yani tek sorgu ile alacağım sonra php de istediğim a1 değerindekini bulduracağım.Bir nevi array tanımlaması gibi olacak.Nasıl yapabilirim?
Şimdi elimde bir tablo da 3 tane alan var diyelim a1 a2 a3. Yapmak istediğim de
a3 ün 2 olduğu ve a2 değerinin en büyük olduğu iki tane a1 değerini bul.Yani tablodaki en büyük iki a2 değerini seçecek tabi a3 ün 2 olduğu satırlardaki ve bu satırlardaki a1 değerlerini alacağım.Nasıl bir SQL sorgusu kullanmalıyım.
Teşekkürler