Türkçe , Matematik ve Fen Bilgisinden öğrencilerin aldıkları notlar var.
Okul - Öğrenci - Türkçe - Matematik - Fen Bilgisi - İlçe
A Okulu Ahmet 100 85 90 Beylikdüzü
A Okulu Mehmet 90 50 40 Beylikdüzü
B Okulu Ali 20 55 85 Avcılar
B Okulu Veli 10 10 50 Avcılar
C Okulu Murat 100 80 75 Avcılar
C Okulu Aslı 50 50 75 Avcılar
okulların ders bazındaki ortalamalarını çıkarıp bu ortalamalara göre okulun kaçıncı sırada olduğunu hesaplatmak istiyorum.
mesela B okulunun türkçe ortalaması 15, C okulunun 75, A okulunun 95. Bu ortalamalara göre türkçe dersinde okullar kaçıncı sırada bunu hesaplatmak istiyorum.1. A okulu, 2. C okulu, 3. B okulu olarak sonuç döndürmeli. Nasıl okulları ders ortalamasına göre sıralatıp, sıra değerini bulabilirim?
Tabi bu okullar örnek okullar 1000 kadar okul var gerçekte.
SELECT
Ortalama.*, (@sira:=@sira+1) as Sira
FROM
(SELECT Okul, AVG(Turkce) as Turkce, AVG(Matematik) as Matematik, AVG(FenBilgisi) as FenBilgisi, Ilce FROM notlar Group By Okul ORDER BY Turkce DESC) as Ortalama,
(SELECT @sira:=0) as Siralama
Order By Sira ASC;