我想row_number基于如何从基于表的多个列获取唯一记录的
功能中
删除重复项。但是被语法错误阻止了。我的用例如下:

和我的SQL如下:
select demo.*,
row_number() over (partition by id order by creator desc) as rn
from demo
Run Code Online (Sandbox Code Playgroud)
但它告诉我:
在“(”附近:语法错误:
我不知道发生了什么,我进行了一些搜索,例如如何在sqlite中使用ROW_NUMBER 。不幸的是,我仍然不知道自己犯了什么错误。一切都会感激的。
正如评论中提到的,SQLite 不支持row_number()或其他窗口函数。您可以使用相关子查询:
select d.*
from demo d
where d.creator = (select max(d2.creator) from demo d2 where d2.id = d.id);
Run Code Online (Sandbox Code Playgroud)
即使在demo(id, creator)支持row_number().