gpt4 book ai didi

ruby - 如何使用 Sequel ORM 以随机顺序从 SQLite 获取记录?

转载 作者:数据小太阳 更新时间:2023-10-29 07:45:14 25 4
gpt4 key购买 nike

尝试转换此 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com