我有一个数据库如下所示
datetime value
date1 200
date2 230
date3 210
date4 240
date5 220我找到了列的rowid,我想动态地为上面的2行找出最大值,比如我为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个元组)。我可以不使用极限与最大?有什么问题吗?我是否必须创建另一个与rowid等价的int列,以便很好地查询并使用numberingColumn的订单,还是有更好的解决方案?
发布于 2018-11-14 10:30:44
谢谢你,肖恩
c.execute("SELECT MAX(TEMPVALUE) FROM (SELECT value AS TEMPVALUE FROM TABLE LIMIT "+str(rowid+2)+",3)")解决了问题!
https://stackoverflow.com/questions/53289392
复制相似问题