2016-03-25 14 views
0

私は、10の数学的な質問を完了するように学生に求めているプログラムに取り組んできました。次にユーザーにファーストネーム、 SQLite 3を使用して、最初の入力に基づいてデータベースに入力します。複数のスコアの平均値に基づいてテーブルを印刷する方法(SQLite、Python)

このプログラムでは、クイズでのすべての生徒試行の平均スコアに基づいてテーブルを印刷します。たとえば、次の2人のユーザーの平均が8.5のものになります:enter image description here

スコアでソートして、ここで行ったように私は現在、テーブル方式を処理するために0.7.5を集計使用:

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"])) 

私が使用してみましたこれを行うSQLiteパラメータですが、単一の平均値を貼り付けただけです。私は本当に学生が作ったすべての試みをカバーする別々の平均が好きです。

何か助けが必要です!

答えて

1

ような何か:

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

データベースエンジンがあなたのために仕事をやってみましょう!

+0

ありがとう、私はまだSQLiteについて学ぶことがたくさんあるようです。 ;) –

関連する問題