从有序的SQLite表中获取一系列元组

时间:2014-05-23 18:42:52

标签: sqlite

如果主题看起来含糊不清,我首先要道歉;我总是很难简洁地构筑它们。完成后,我会进入它。

假设我有一个如下所示的数据库表:

CREATE TABLE The_table(
  item_id INTEGER PRIMARY KEY ASC AUTOINCREMENT,
  item TEXT);

现在,我有一个非常基本的查询,它将从所述表中获取项目并对其进行排序:

SELECT *
FROM The_table
ORDER BY x;

其中x可以是item_iditem。我可以保证两个字段都是可订购的。我的问题是:

有没有办法修改我给出的查询以获得一系列有序元素:例如从表格中的第20个元素到表格中的第40个元素(在订购表格之后)或类似的东西。

任何帮助都将不胜感激。

谢谢,

1 个答案:

答案 0 :(得分:1)

是的 - 它被称为"在"之间

SELECT *
FROM The_Table
WHERE item_id BETWEEN 20 AND 40

这正是它所说的 - 它在所提供的两个数字之间寻找一个值。找到范围非常有用;也是反向工作(即不与之相关)。更多see here

如果您想要排序后的特定行或行组(如更新后的问题所示),您可以使用LIMIT子句选择一系列条目

SELECT *
FROM The_Table
LIMIT 20, 20

以这种方式使用LIMIT,第一个数字是表格中的起始点,第二个数字是从该点返回的记录数量。无论该值是什么,该语句将从第20行开始返回20行。