python sqlite3是否支持rank函数
我想知道python sqlite3库是否支持秩函数 当我通过在线Sqlite浏览器执行查询时,它工作正常,但通过python它失败了python sqlite3是否支持rank函数,python,sqlite,Python,Sqlite,我想知道python sqlite3库是否支持秩函数 当我通过在线Sqlite浏览器执行查询时,它工作正常,但通过python它失败了 File "xyz.py", line 509, in createData conn.execute('SELECT RANK() OVER ( ORDER BY dateAndTime) FROM xyz;') sqlite3.OperationalError: near "(": syntax error 提前谢谢 我不知道Python脚本使用
File "xyz.py", line 509, in createData
conn.execute('SELECT RANK() OVER ( ORDER BY dateAndTime) FROM xyz;')
sqlite3.OperationalError: near "(": syntax error
提前谢谢 我不知道Python脚本使用的SQLite版本是否支持RANK。假设没有,以下是一个查询,您可以将其用作解决方法:
SELECT
(SELECT COUNT(*) + 1 FROM yourTable t2
WHERE t2.id < t1.id) rnk
FROM yourTable t1
ORDER BY
dateAndTime;
我们可以使用相关子查询来处理秩逻辑。请注意,对于稠密的_秩,解决它可能不是那么容易
这是一个演示,显示我的逻辑和排名的行为方式相同
我不知道您的Python脚本使用的SQLite版本是否支持RANK。假设没有,以下是一个查询,您可以将其用作解决方法:
SELECT
(SELECT COUNT(*) + 1 FROM yourTable t2
WHERE t2.id < t1.id) rnk
FROM yourTable t1
ORDER BY
dateAndTime;
我们可以使用相关子查询来处理秩逻辑。请注意,对于稠密的_秩,解决它可能不是那么容易
这是一个演示,显示我的逻辑和排名的行为方式相同
另一种选择是使用行号:
row_number()
结合升序ASC或降序DESC获得排序的排名
ORDER BY DESC # or ASC
此外,在python中使用sqlite时,这可能很有用
另一种选择是使用行号:
row_number()
结合升序ASC或降序DESC获得排序的排名
ORDER BY DESC # or ASC
此外,在python中使用sqlite时,这可能很有用
肖恩指出我的库太旧了。 溴
Sqlite在3.25中有窗口函数,所以您必须使用该函数或更新的函数
肖恩指出我的文库太旧了。 溴
Sqlite在3.25中有窗口函数,所以您必须使用该函数或更新的函数
你有没有试过把它取下来;在查询语句的末尾?我认为通过python进行排名应该不会有任何问题。看看这里,因为它可能会帮助SQLite在3.25中获得窗口函数,所以您必须使用该函数或更新的函数。是的,我的库是3.22版。感谢您的帮助@Shawnhave您是否已尝试移除;在查询语句的末尾?我认为通过python进行排名应该不会有任何问题。看看这里,因为它可能会帮助SQLite在3.25中获得窗口函数,所以您必须使用该函数或更新的函数。是的,我的库是3.22版。感谢您的帮助@ShawnI agre可以用于我的测试示例,但我的实际案例需要rankI agre可以用于我的测试示例,但我的实际案例需要rankHow如果库不支持rank,这是否有帮助?@user2532072抱歉,我在答案中粘贴了错误的查询。检查更新的答案或演示。如果库不支持排名,这有什么帮助?@user2532072抱歉,我在答案中粘贴了错误的查询。检查更新的答案或演示。