gpt4 book ai didi

android - 从 sqlite 数据库中选择每第 n 个术语,包括第一个

转载 作者:行者123 更新时间:2023-11-30 03:02:28 26 4
gpt4 key购买 nike

我正在尝试选择第一行和之后的每第五行(这给了我 4 个具有唯一行的查询)但我不确定它是否正确,因为我的结果与预期不符。

    //create the nth row selection
int n = level + 5;

//query the content resolver
Cursor cursor = contentResolver.query(
MainContentProvider.CONTENT_URI_ENGLISH,
DatabaseOpenHelper.PROJECTION_ENGLISH,
DatabaseOpenHelper.KEY_ROW_ID + " = " + (level+1) + " OR " + DatabaseOpenHelper.KEY_ROW_ID +" % " + n +" = 0",
null,
DatabaseOpenHelper.KEY_ROW_ID + " ASC"
);

其中level[0,3]区间内。结果加起来不等于预期值,并且要少两倍(大约)。


我的查询方法应该如何选择从第一行开始的每第五行?

最佳答案

您可以使用如下查询来实现此目的(虽然我不确定它的性能):

SELECT 
id,
name,
(SELECT count(*) - 1 FROM my_table t_inner WHERE t.id >= t_inner.id) AS ordinal
FROM my_table t
WHERE ordinal % 5 == 0
ORDER BY id ASC;

或者您可以创建 CursorWrapper,它将返回行的子集。这种方法的缺点是您必须从数据库中获取每一行,如果您有大量数据,这可能会很慢。

关于android - 从 sqlite 数据库中选择每第 n 个术语,包括第一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22337285/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com