Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android如何在sqlite中检索以前和最后5条记录_Android_Sqlite - Fatal编程技术网

Android如何在sqlite中检索以前和最后5条记录

Android如何在sqlite中检索以前和最后5条记录,android,sqlite,Android,Sqlite,在Android中,我需要知道如何在mysql中检索当前索引的前5条记录和最后5条记录 我只知道如何检索当前索引的前5条记录或最后5条记录 获取当前索引的前5条记录 Select * from myTable Where myid < 10 order by myid DESC Limit 10 Select * from myTable Where myid > 10 order by myid ASC Limit 10 但我不知道如何将这两种说法结合起来。试试这个: SELE

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

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

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

Select * from myTable Where myid < 10 order by myid DESC Limit 10
Select * from myTable Where myid > 10 order by myid ASC Limit 10
但我不知道如何将这两种说法结合起来。

试试这个:

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


我假设中间列包含按顺序排列的数据,如1,2,3,4,n.

要使用相同列数组合两个查询,请使用UNION:

由于SQLite不支持Union的直接子查询中的Limit,所以必须使用双选择


如果您希望对整个结果进行排序,只需在末尾的mid之前追加顺序即可。

您可以上载表结构吗?只有当myid列包含连续值时,此操作才有效。如果表中的所有记录尚未删除,则此操作似乎是正确的。@Yaqub Ahmad:如果我的currentIndex为3,则会发生什么情况?应用程序会崩溃吗?
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)