ChatGPT解决这个技术问题 Extra ChatGPT

如何通过 Sql Query 在 Sqlite 中获取表的第一行/第一行

我需要获取 Sqlite 数据库中表的第一行/第一行。

但是我的程序为我正在使用的查询抛出了一个 SQLException "Sqlite Syntax Error: Syntax error near '1'":

SELECT TOP 1 * 
FROM SAMPLE_TABLE

我猜这是一种特别适用于 MS SQL SERVER 和 MS ACCESS 的语法。现在我正在使用。

SELECT *
FROM SAMPLE_TABLE
LIMIT 1

这个问题的最佳解决方案是什么?

应该提到的是,开发人员不应该依赖表中记录的物理顺序。这是危险的想法。

U
Uwe Keim

使用以下查询:

SELECT * FROM SAMPLE_TABLE ORDER BY ROWID ASC LIMIT 1

注意:Sqlite 的行 ID 引用是 detailed here


z
zkanoca

LIMIT 1 是您想要的。请记住,无论顺序如何,这都会返回结果集中的第一条记录(除非您在外部查询中指定 order 子句)。


LIMIT 1 执行完整查询,然后丢弃不需要的结果。有几个关于它和 COUNT(*) 的邮件列表讨论。这与使用 TOP 1 查找第一个匹配记录不同。一旦找到第一条记录,查询就可以停止并返回结果。