如何在具有LIMIT和OFFSET的一系列行之间获得一个随机行



如何从使用LIMITOFFSET提取的选定50行中获取随机行?OFFSET值是动态的,可以是050100

目前的解决方案是提取所有行,然后通过代码从中随机选择一行,然而,使用SQL进行本地操作会更高效吗?

SELECT * 
FROM tableName
ORDER BY frequency DESC
LIMIT 50 OFFSET 0

将查询用作子查询并随机选择一行:

SELECT * 
FROM (
SELECT * FROM tableName
ORDER BY frequency DESC LIMIT 50 OFFSET 0  
)
ORDER BY RANDOM() LIMIT 1

最新更新