Android如何检索sqlite中的前5个记录和最后5个记录

时间:2012-10-12 02:13:00

标签: android sqlite

在Android中,我需要知道如何检索mysql中当前索引的前5条记录和最后5条记录

我只知道如何检索前5条记录或当前索引的最后5条记录

获取当前索引的前5条记录

Select * from myTable Where myid < 10 order by myid DESC Limit 10

获取当前索引的最后5条记录

Select * from myTable Where myid > 10 order by myid ASC Limit 10

但我不知道如何结合这两个陈述。

2 个答案:

答案 0 :(得分:1)

试试这个:

SELECT *
FROM   myTable 
WHERE  myid BETWEEN currentIndex-5 AND currentIndex+5 AND
       myid <> currentIndex

修改

我假设您的mid列按顺序包含数据,如1,2,3,4,n。

答案 1 :(得分:1)

要合并两个具有相同列数的查询,请使用UNION

Select * from (Select * from myTable Where myid < 10 order by myid DESC Limit 10)
Union All
Select * from (Select * from myTable Where myid > 10 order by myid ASC Limit 10)

(双重Select是必需的,因为SQLite不支持Limit的直接子查询中的Union。)

如果您想要订购整体结果,只需在最后添加Order by mid