Arkadaşlar mysql veritabanımda "sonuc" tablomun içinde "matnet" diye bir sütun var.
Tablom şöyle bir şey.
username----matnet----sinif-----testno
taner--------------3------------6---------1
murat------------12------------6---------1
taner--------------7-------------7--------4
ceviz-------------15------------8---------1
ceviz--------------5------------7---------2
Benim amacım tüm sınavlarda toplam en fazla net yapan kişinin "username" ini ve toplam kaç net yaptığını veritabanından çekmek ve bu sayede ilk 3 ü tespit etmektir.
Ne yapmalıyım yol gösterebilirmisiniz?
Tablodan bir sutunu toplama ve sıralama
9
●774
- 29-01-2009, 21:37:15
- 29-01-2009, 21:53:39olayi tam anlayamadim acikcasi.
mesela adam 2 sinava girmiş 12 net yapmiş. digeri 1 sinava girmiş 8 net yapmiş.
bu durumda bizim bunlari kiyaslamak için girdigi sinavl sayısına göre bir ortalama mi alicaz ? yoksa kac sinava girerse girsin en yüksek neti mi ariyoruz ? - 29-01-2009, 22:09:39kaç sınava girdiyse girsin toplam nete göre sıralama yapacağım.LaCReMeL adlı üyeden alıntı: mesajı görüntüle
- 29-01-2009, 22:30:39ama bana matnet değil her üyenin matnetlerinin toplamının sırası lazım.
ynai şööle bişe
yani matnetlerinin toplamı en büyük olan ilk 3 üye tabi yukarda yazdığım çalışmıyor ama mantıken böyle bir şey arıyorum.Alıntı - 29-01-2009, 22:43:52hmm..
bunu sql sorgusu ile yapabilirmisin bilmiyorum o kadar bilgim yok,
bunun için size önerim şu olabilir. üye tablosunda bir sütun daha acarsiniz(toplamnet). oradaki net sayisini üyenin her sinavinin sonunda update edersiniz. bu şekilde işiniz daha kolay olacaktir. - 29-01-2009, 23:25:03macchess adlı üyeden alıntı: mesajı görüntüle
select SUM(matnet) from sonuc where username in(SELECT max (SELECT * from sonuc count(matnet))) FROM sonuc order by username desc ;
dediğini şöyle yaptım ama çalışmadı,ama yaklaştığımı hissediyorum.
sanki o ortadaki count olayı yanlış gibi geldi yani orada neden saydırdık anlayamadım ustadım bi daha bi düşünsene