我有一张电影表,我希望能够查询数据库并获得一个随机的电影列表,但我也不希望它返回所有电影,所以我' m使用LIMIT
和OFFSET
。问题是当我做这样的事情时:
SELECT * FROM Movie ORDER BY RANDOM() LIMIT 50 OFFSET 0
然后在使用LIMIT 50 OFFSET 50
查询下一页时,RANDOM种子会发生变化,因此第一页中的行可能会包含在第二页中,这不是所需的行为。
如何实现随机订单并通过页面保留?据我所知,SQLite不支持自定义种子的RANDOM功能。
谢谢!
答案 0 :(得分:0)
您无法保留随机值。您必须在表中添加另一个字段名称以保持随机顺序
UPDATE movie
SET randomOrder = Random();
然后你可以检索页面
SELECT *
FROM Movie
ORDER BY randomOrder
LIMIT 50 OFFSET 0