尝试转换此 SQLite 查询
SELECT * FROM `terms` ORDER BY RANDOM() LIMIT 10
使用 Sequel 模型。我得到的最接近的:
Term.order(rand{}).limit(10)
Term.order('random ()').limit(10)
翻译成
<Sequel::SQLite::Dataset: "SELECT * FROM `terms` ORDER BY 0.6160215951854449 LIMIT 10">
<Sequel::SQLite::Dataset: "SELECT * FROM `terms` ORDER BY 'random ()' LIMIT 10">
但两者都不起作用。有没有办法将 SQLite 或其他特定于数据库的函数传递给 Sequel 的
order()
? 最佳答案
使用 Sequel.lit
表达式有效:
Term.order(Sequel.lit('RANDOM()')).limit(10)
关于ruby - 如何使用 Sequel ORM 以随机顺序从 SQLite 获取记录?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18306059/