如何根据平均多个分数打印表格(SQLite,Python)

时间:2016-03-25 16:44:03

标签: python mysql sqlite

我一直致力于一项要求学生完成10个数学问题的程序,然后根据用户使用SQLite 3将其输入的名字,名字和分数记录到数据库中。 / p>

我希望该程序根据学生在测验中尝试的所有平均分数打印一张表。例如,这两个用户的平均值是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 个答案:

答案 0 :(得分:1)

类似的东西:

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

让数据库引擎为您完成工作!