2016-03-25 9 views
0

Bir öğrenciden 10 matematik sorusunu tamamlamasını isteyen bir program üzerinde çalışıyorum, daha sonra kullanıcı adı, ad ve soyadlarını kaydeder. Başlangıçta SQLite 3.Bir tablo, birden çok puan ortalamasına dayanarak nasıl yazdırılır (SQLite, Python)

kullanarak bir veritabanına girdilerine dayanarak programın öğrencilerin sınavda girdiği tüm öğrencilerin ortalama puanına dayanan bir tablo basmasını istiyorum. Örneğin, bu iki kullanıcıları ortalama 8,5 olurdu: enter image description here

skorla sıralama ile burada yapılacak gibi ben şu anda, masa yöntemi işlemek için 0.7.5 sürümü tablolaştırıyoruz kullanın:

if sort == "score": 
     print("Accessing Database.") 
     time.sleep(2) 
     print("Accessing Database..") 
     time.sleep(2) 
     print("***Reading Complete***") 
     con = lite.connect('students.db') 
     with con: 
      cur = con.cursor() 
      table = cur.execute("SELECT FirstName, SecondName, Score FROM Class1 ORDER BY Score DESC") 
      print(tabulate(table, headers=["FirstName","SecondName", "Score"])) 

kullanıyorum çalıştı Bunu yapmak için bir SQLite parametresi, ancak sadece tek bir ortalama yapıştırılmış. Öğrencinin yaptığı her girişimi kapsayan ayrı bir ortalamadan gerçekten hoşlanırdım.

Herhangi bir yardım çok fazla zorunluluk getirir! gibi

cevap

1

şey:

select 
    firstname, lastname, avg(score) as score 
from 
    class1 
group by 
    firstname, lastname 
order by 
    avg(score) desc 

veritabanı motoru sizin için yapsın!

+0

Teşekkürler, hala SQLite hakkında öğrenmek için çok şey var gibi görünüyor. ;) –

İlgili konular