【发布时间】:2015-07-04 22:12:10
【问题描述】:
我有一个程序可以在数据库中存储学生的分数。我想为每个学生选择最高分。目前,只返回所有学生中得分最高的一名学生,而不是每个学生的最高分。谁能帮我解决这个问题? (仅供参考,有一个“分数”列,其中存储了分数列表)
def ClassSort():
myFile = sqlite3.connect("scores.db")
c = myFile.cursor()
clear()
classNo = input("Enter the class number you would like to sort... ")
clear()
type = input("How would you like to sort ? \n 1 - Highest score, with students in alphabetical order \n 2 - Highest score, highest to lowest \n 3 - Average score, highest to lowest \n... ")
if type == "1":
c.execute('SELECT MIN(score), name FROM scores WHERE classNo = (?)', (classNo,))
if type == "2":
c.execute('SELECT MAX(score), name FROM scores WHERE classNo = (?)', (classNo,))
if type == "3":
c.execute('SELECT AVG(score), name FROM scores WHERE classNo = (?)', (classNo,))
row = c.fetchall()
row = ', '.join(map(str, row))
print(row)
myFile.commit()
myFile.close()
【问题讨论】:
标签: python sql database sqlite