在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
但我不知道如何结合这两个陈述。
答案 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
。