为了账号安全,请及时绑定邮箱和手机立即绑定

在sqlite中使用max时光标不填充

在sqlite中使用max时光标不填充

慕运维8079593 2021-08-17 10:54:47
我有一个像下面这样的数据库datetime    valuedate1        200date2        230date3        210date4        240date5        220我找出我想动态找出上面 2 行的最大值的列的 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 使用订单,还是有更好的解决方案?
查看完整描述

1 回答

?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

c.execute("SELECT MAX(TEMPVALUE) FROM (SELECT value AS TEMPVALUE FROM TABLE LIMIT "+str(rowid+2)+",3)")

解决了问题!


查看完整回答
反对 回复 2021-08-17
  • 1 回答
  • 0 关注
  • 181 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信