SQlite3按照参数顺序获取数据

时间:2015-04-30 10:45:51

标签: python sqlite

我使用sqlite3存储有关数学测试的数据,然后检索它,他们可以在1,2,3中有3个类,然后他们得到一个分数,它存储他们的名字,分数,类和其他一些不重要的东西。 我需要按分数顺序检索数据,但仅适用于相应的类。

def sortHighest():#define function
    con = lite.connect('scores.db')#connect to database
    con.text_factory = str #remove "u" before result
    cur = con.cursor()
    cur.execute("SELECT name, highest FROM scores ORDER BY highest DESC")#ordering data
    data = cur.fetchall()#fetching data
    con.commit()#using data
    print "|name|Best Score|"#how to print data
    for row in data:#print each piece
        print row
    print "---------------------------------------"
    menu()#back to menu

该表被称为得分,数据库是得分.db。 我需要改变这一点:

cur.execute("SELECT name, highest FROM scores ORDER BY highest DESC")#ordering data

仅显示被问及的课程,即第1课。

非常感谢

编辑:延期;无论如何使用我的"哪个类"来自python的变量为" ... WHERE class = ??? ..."

1 个答案:

答案 0 :(得分:1)

使用where条件选择请求:

cur.execute("SELECT name, highest FROM scores WHERE class=1 ORDER BY highest DESC")

您可以通过连接构造字符串以动态使用您的变量" whichclass" :

cur.execute("SELECT name, highest FROM scores WHERE class="+str(whichclass)+" ORDER BY highest DESC")