我在sqlite DB(alpha.db)中有一个名为 alphanum 的表,它包含以下列和值。
我在python中有一个函数来从这个DB中获取值:
import sqlite3
def viewdata(number):
conn = sqlite3.connect("alpha.db")
cursor = conn.cursor()
cursor.execute(("SELECT Alpha,beta,gamma, number FROM alphanum WHERE number=?"),(number,))
data=cursor.fetchall()
conn.close()
return data
print(viewdata(2.6))
如果我使用它,我会得到以下值:
45,54,87,2.6
这里,数字列保存起始值,即从数字2.6到5.9它属于队列1,从数字6到8.4,它属于队列2,依此类推。
现在,如果我想从此表中获取Alpha,Beta,Gamma值,以获取位于这些Queue之间的数字,我应该使用哪个查询?即,如果我输入5.8的值,我应该得到队列1的alpha beta和gamma值,因为从2.6到5.9它属于队列1。
我不确定如何在SQLite中使用Declare变量,我们将不胜感激。
答案 0 :(得分:1)
如果数字是累积的,根据您的评论,您只需要获取Number
值低于或等于传递的数字的条目,并选择最高的条目,例如:
cursor.execute("""SELECT Alpha, Beta, Gamma, Number FROM alphanum
WHERE Number<=? ORDER BY Number DESC LIMIT 1""", (number, ))