我有一个类似以下的数据库
datetime value
date1 200
date2 230
date3 210
date4 240
date5 220
我找到要动态查找上述两行最大值的列的rowid 假设我为date4找到了4,我想计算最大值230,210和240,即240
我给出以下命令
c.execute("SELECT MAX(value) FROM TABLE LIMIT "+str(rowid-2)+",3")
print(c.fetchall())
问题是光标没有填充,并且在时返回空列表
c.execute("SELECT value FROM TABLE LIMIT "+str(rowid-2)+",3")
print(c.fetchall())
它返回3行(列表中的3个元组)的正确值。我不能对max使用限制吗?问题是什么?我是否必须使另一个与rowid等效的int列才能很好地查询,并通过numberingColumn使用order还是有更好的解决方案?
答案 0 :(得分:0)
谢谢@Shawn
c.execute("SELECT MAX(TEMPVALUE) FROM (SELECT value AS TEMPVALUE FROM TABLE LIMIT "+str(rowid+2)+",3)")
解决了问题!