Linux Mint Türkiye
Yazılım => Yazılım Genel => Konuyu başlatan: Cataliyst - 06 Mayıs 2016, 13:27:49
-
Herkese merhaba,
(http://i.hizliresim.com/NAMZQa.png)
Yukarıda gördüğünüz tabloda id ve numara bölümü var. Numara bölümünde ise tekrar eden iki tane 5 sayısı ve üç adet 4 rakamı var. Şimdi tabloda numara bölümünde en fazla tekrar eden kayıt 4 rakamına ait. Peki bu 4 rakamını SQL sorgusunda nasıl elde edebilirim?
Teşekkürler.
-
Elde etmekten kastınız nedir, bir php sayfasında bu tablodaki "numara" dizesinin mi gösterilmesini sağlamak istiyorsunuz ?
-
Tabloda hangi rakamın kaydı daha fazla ise o rakamı PHP'de yazdırcam.
-
$query = "SELECT COUNT(`numara`) AS ADET, msg FROM `test` GROUP BY `numara` ORDER BY ADET DESC LIMIT 0,1";
$result = $link->query($query);
$row = mysqli_fetch_assoc($result);
echo "Mesaj : ".$row["numara"]."<br>";
numara tablosunda birden fazla olan (ve en çok olan) veriyi yukarıdaki şekilde gösterebilirsin.
aynı numaradan kaç adet olduğunu da göstermek istersen ;
echo "Adet : ".$row["ADET"]."<br>";
olarak kullanabilirsin.
-
Deniyorum..
Edit: $result["numara"]; boş gelmekte.
-
Ben denediğimde sorunsuz bir şekilde çalışıyor, veritabanına bağlı olduğunuzdan emin misiniz ?
-
Evet veritabanı bağlantım var.
(http://i.hizliresim.com/LA9NAz.png)
(http://i.hizliresim.com/rMPpMz.png)
-
adet sayısı çalışıyor, numaramı çalışmıyor ?
-
Evet
-
test yazan yere, veritabanı ismini yazıp tekrar dener misin ?
-
Halen aynı. Biraz daha araştırıcam :)
-
örnek tabloyu, sql veya zip olarak bana yollayabilir misin ? ben deneme amaçlı 2 stunlu bir tablo oluşturdum ve çalışıyor, bir de seninki üzerinde deneyelim bakalım.
-
Uzun araştırmalar sonucu istediğim sorguyu bulabildim. Danny, sanada teşekkür ederim yardımcı olduğun için. İşinizi görürse eğer sorgu aşşağıdadır.
SELECT * FROM test WHERE numara = (SELECT numara FROM test GROUP BY numara ORDER BY COUNT(*) DESC LIMIT 1)