4

试图转换这个 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()

4

1 回答 1

12

使用Sequel.lit表达式有效:

Term.order(Sequel.lit('RANDOM()')).limit(10)
于 2013-08-19T03:51:58.970 回答