【发布时间】:2016-04-28 01:47:32
【问题描述】:
我已经阅读了很多关于如何在 SQLite 中使用行号的文章,但没有一篇文章给出了我需要的答案。我知道如何使用此查询选择行号:
SELECT (SELECT COUNT() FROM table WHERE title < t.title OR (title = t.title AND id<t.id)) as rowIndex, t.title FROM table AS t ORDER BY t.title;
但如果我在查询末尾添加COLLATE NOCASE(我需要),那么结果就完全不同了。
【问题讨论】:
-
如果没有 rownum 部分,您的查询会是什么样子?
-
这取决于您想要什么样的行号:如果您想要一个唯一标识基础表中的行的数字,请使用 ROWID。如果要对查询结果的行进行编号:某些数据库提供 ROWNUM 伪字段,但 sqlite 不提供 AFAIK。已经提出了使用子查询的解决方案,例如here。
标签: sqlite row-number