我正在制作一个测验系统,我正在努力为用户显示平均成绩。 所以例如,如果我有这样的表:
select * from data where datamap=1 results in:
mapid,Real_0, Real_1, Real_3, Real_4 (these are the column names)
1,1.1,2.1,3.1,4.1
1,1.2,2.2,3.2,4.2
1,1.3,2.3,3.3,4.3
无论如何获得平均成绩?
编辑:我已经将成绩从字母更改为分数,因为我已经意识到您无法获得非数字值的平均值。
我如何进行查询以获得两个问题的平均用户得分?
答案 0 :(得分:1)
您要求查询,因此简单的答案是
calculator = Tk()
calculator.title("Calculator")
calculator.resizable(0, 0)
#================================================
class Application(Frame):
def __init__(self, master, *args, **kwargs):
Frame.__init__(self, master, *args, **kwargs)
self.createWidgets()
#================================================
def createWidgets(self):
self.sevenButton = Button(self, font=("Helvetica", 11), text="7",
borderwidth=0, command=lambda: self.appendToDisplay("7"))
self.sevenButton.grid(row=1, column=0, sticky="NWNESWSE")
#================================================
app = Application(calculator).grid()
calculator.mainloop()
然而,你的客户会对你的计算感到相当失望 - 从5分中获得5分,100分中的100分与平均5分和100分完全不同!
所以我建议使用百分比而不是原始分数:
Select avg(user_score)
From {table_name}
Where {your criteria}
Group by user_id
答案 1 :(得分:0)
您可以使用ASCII()
将成绩转换为整数,然后使用CHAR()
将平均值转换回成绩。
SELECT CHAR(ROUND(AVG(ASCII(`grade`)-65))+65) FROM table
请注意,这不会考虑+
。您首先必须确定成绩上+
的数值。