【问题标题】:Sqlite query for getting index from sorted result用于从排序结果中获取索引的 Sqlite 查询
【发布时间】:2014-06-11 17:11:43
【问题描述】:

我需要进行 sql 查询,因为我有一个包含以下列的表

id    Name        Color
1     Water       red
5     Sun         blue Light
7     Fire        green
10    Wter       red
21    Son         blue Light
24    Fore        green

所以要求是我有记录说

5     Sun         blue Light

现在我需要从名称的排序结果中获取上述记录的索引。说下面可以是选择查询。

SELECT * FROM  MYTABLENAME WHERE COLOR LIKE “blue/%” ORDER BY Name ASC

注意:- 我无法加载内存中的所有记录并进行迭代,因为有时记录可能很大。所以需要想出一个查询,在不加载记录的情况下给出记录的确切索引。

提前致谢

【问题讨论】:

  • 这闻起来像XY problem。你需要索引做什么?
  • 从记录的位置开始,我必须在 UI 中向用户显示“50 of 1000”。
  • 为什么你不能在每次跳转到下一页时简单地将变量增加 50?

标签: sql sqlite


【解决方案1】:

如果您没有将排序结果存储在临时表中,唯一的方法是计算在该记录之前排序的记录数:

SELECT COUNT(*)
FROM MYTABLENAME
WHERE COLOR LIKE “blue/%”
  AND Name <= 'Sun'

【讨论】:

  • 但是你看到&lt;=了吗?记录的计数顺序无关紧要,总和是一样的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-27
  • 1970-01-01
  • 2018-03-14
  • 2023-03-25
  • 1970-01-01
  • 1970-01-01
  • 2020-06-13
相关资源
最近更新 更多