【发布时间】:2021-04-07 22:18:02
【问题描述】:
如标题所示,我的脚本可以在我的 Windows 机器上运行,但不能在我的 Ubuntu 服务器上运行。它无法处理我的 SQL 命令:
import sqlite3
conn = sqlite3.connect('data.db')
c = conn.cursor()
c.execute("""
select distinct user_id
from
( select *,
count(1) over (partition by user_log) as occurs
from rank2_log
) AS id
where occurs > 2; """)
错误:
File "/root/Log/log.py", line 91, in check_all
14|log | where occurs > 2;""")
14|log | sqlite3.OperationalError: near "(": syntax error
我检查了 SQLite 模块版本,它们是相同的( 2. 6 .0 )。由于某种原因,还尝试将其从多行更改为普通注释,但这也不起作用。
【问题讨论】:
-
为什么不使用普通组?
-
@Selvin 这不是我的命令,我对 SQL 的了解不够深入,无法执行此类高级操作。
-
错误不是来自该代码。错误中的“where”是小写的。
-
这不是一个好计划。您太容易“调整”实际上导致错误的一件小事。
-
好吧,这里没有语法错误,除非您的文件中有一些奇怪的字符。您的源文件是否有 Unix 行结尾或 WINdows?