sqlite3.OPERNATIONAL错误:接近“,”:语法错误,请选择中的位置

2024-10-04 03:17:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个sql代码,我使用python 3.6

SELECT a,b,c
FROM belge_yeni 
WHERE (a,b) 
IN (SELECT a,b FROM belge_yeni GROUP BY a,b HAVING count(*) >1)  
ORDER BY a, b DESC

我可以运行python 3.8,
但是我在Python3.6中有sqlite3.OperationalError:near“,”:syntax error”

我看到了这个链接
https://code.djangoproject.com/ticket/30027
但是我不明白
多谢各位

TY寻求帮助,解决了我的问题 Python Sqlite 3.6、3.8版本问题

select m.*
from belge_yeni m
where (
    select count(*) 
    from belge_yeni m1 
    where m1.a = m.a and m1.b = m.b
) > 1 order by b

Tags: 代码infromsqlbycountgroupwhere
1条回答
网友
1楼 · 发布于 2024-10-04 03:17:00

如果您使用的SQLite版本是3.15.0+,那么您的查询在语法上是正确的。
我怀疑它较旧,因此不支持ROW VALUES
下面是一个使用EXISTS的等效查询:

SELECT t.a, t.b, t.c
FROM belge_yeni t 
WHERE EXISTS (SELECT 1 FROM belge_yeni WHERE a = t.a AND b = t.b AND rowid <> t.rowid)
ORDER BY t.a, t.b DESC

相关问题 更多 >