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

标签 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

但我不知道如何将这两个语句结合起来。

最佳答案

要合并具有相同列数的两个查询,请使用 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 不支持 Union 的直接子查询中的 Limit。)

如果您希望对整体结果进行排序,只需在末尾附加Order by mid即可。

关于Android 如何在 sqlite 中检索前 5 条记录和最后 5 条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12851292/

相关文章:

用于获取过滤数据的android sqlite子查询

java - 无法从 CursorWindow 读取第 34 行第 11 列

android - 尽管值在 getPreviewFpsRange 的范围内,但 setPreviewFpsRange 不工作

java - 如何添加重置按钮以清除 Edittext 字段上的数字

java - 这会造成内存泄漏吗?

java.lang.IllegalStateException : Trying to requery an already closed cursor error 错误

c# - 通过在 Windows Phone 的 Sqlite 数据库中运行 sql 查询来创建匿名类型列表

android - "Webpage not found""file:///android_asset/html-nl/index.html not found"安卓设备错误

android - 全屏 ActionBarSherlock

c# - SQLite C# 和 DataGridView