问题描述
我有SQLite DB查询,一次返回一条记录。 这是查询:
rawQuery("SELECT id, category_id, title, text FROM customer WHERE (reads = (SELECT MIN(minReads) FROM categories)) AND status = 'a' ORDER BY rating DESC, rand_index DESC LIMIT 1 ",null);
如果我想获取下一条记录,因为我们在上面的SQLite查询中应用了限制,则无法获得下一条记录。
Limit = 1
是必要的,因为我有成千上万的记录在我的db
。
如何在不修改现有查询的情况下获取下一条记录。 我无法对此应用循环,因为我有很多记录,并且我不想同时记录所有记录。 我希望它可以动态地一一读取。 我想成为一种可以在数组中存储结果的地方,因为在获取下一条记录时可能还需要旧记录。
任何输入都会有很大的帮助。
1楼
您应该获取所有记录,然后以本地类对象形式对其进行循环,这对于循环执行sql查询是一个非常糟糕的主意,那真的很慢。
2楼
您可以通过一个查询获得一些合理数量的记录,例如100条带有LIMIT 100
100的记录,然后为每个第n条记录的部分获得LIMIT 100 OFFSET(n-1)* 100的其他记录部分。
基本上,这是一个简单的分页实现。