Rails 中根据条件随机选择 n 个对象

2023-12-21

我有一个名为 Post 的模型,有一个名为 vote 的专栏,并且有大量帖子

我想随机选择 n 个拥有 >=x 票的帖子。与帖子数量相比,n 非常小

做这个的最好方式是什么?我尝试了几种似乎效率很低的方法。谢谢


如果您使用 MySQL,您可以对所有满足大于条件的帖子进行随机排序,然后选择前 n 个。

实际的查询看起来像

SELECT * FROM posts WHERE votes >= x ORDER BY rand() LIMIT n

还没有测试过这个,但是这样的东西应该可以在 Rails 中工作:

Post.all(:conditions => ["votes >= ?", x], :order => "rand()", :limit => n)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails 中根据条件随机选择 n 个对象 的相关文章

  • RuntimeError:无法修改冻结的数组(Rollbar、Rails 5.1 升级)

    升级到rails 5后无法使用rspec和rollbar 创建 Rails 4 应用程序 升级 gemfile 以使用 Rails 5 尝试添加防滚杆 gem support 标准配置 环境 rb Load the Rails applic
  • 如何最好地将地址关联到 Rails 中的多个模型?

    这个问题 https stackoverflow com questions 648463 best way to model customer addresson SO 似乎与我的问题有关 但我不确定我的问题是否得到了回答 一个地址可以属
  • Cucumber 是否不需要编写单元测试?

    我对 Ruby ROR 可用的测试框架数量之多感到有点困惑 我最近看了黄瓜轨道广播 http railscasts com episodes search cucumber并发现它们非常有趣 所以我开始玩游戏 然后努力从概念上考虑在哪里进行
  • 设计重定向到成功登录似乎在第一次登录尝试时卡住

    我正在使用 Ruby on Rails 开发一个小型应用程序 并使用 Devise 进行身份验证 我有两个登录系统设置 一个是user另一个是employee 当使用正确的电子邮件和密码登录时 设计会发送正确的重定向到返回路径 但它会卡在那
  • 为 Ruby On Rails 环境创建 Docker 映像时出错(从 Dockerfile)

    估计是环境问题 当我手动执行此操作 没有 Dockerfile 时 它可以工作 这是我的 Dockerfile FROM ubuntu 14 04 RUN apt get update RUN apt get upgrade assume
  • Rails 急切加载计数?

    使用 include 属性可以很好地进行预加载 Post find all include gt author 我想知道您是否也可以急切加载计数 例如我是否想获取每个帖子的评论数量 而不加载所有评论本身 也许像 Post find all
  • Rails 4 - 带有 dependent-fields-rails 的条件 JS

    我正在尝试弄清楚如何在我的 Rails 4 应用程序中使用 dependent fields rails gem 我迷路了 我已将 underscore js 包含在我的供应商 javascripts 文件夹中 并更新了我的 applica
  • 每当 gem 仅在一台机器上有 cronjob 时?

    我们大规模部署了大约十几台服务器 我们想使用每当 gem 但我无法找到一种方法来说明 cron 作业应该在哪台机器上进行 我们只希望这些作业在执行后台作业的服务器上运行 有没有办法指定这一点 如果您使用 Capistrano 部署项目并使用
  • 在 Rails ActiveAdmin 视图中添加指向 Flash 通知的链接

    我正在尝试在活动管理控制器成功创建操作的闪存消息中添加链接 但是该链接的 HTML 被转义并在视图上显示为纯文本 Rails 5 2 1 ruby 2 5 3p105 2018 10 18 修订版 65156 x86 64 linux 例如
  • A has_many Bs 其中 B 没有主键

    我有型号 A 和 B A has many B 并且 B 属于 A 到目前为止 一切都很好 除了我指定 B 没有主键 我不打算修改或删除单个 B 行 并且我预计会有数百万到数十亿的 B 行 因此省略主键将非常方便 节省空间 创建 B 表的迁
  • Rails - 使用 %W

    我有以下效果很好的 def steps w hello billing confirmation end steps first 但我想这样做 def step title w Upload a photo Billing Info Con
  • Rails validates_与模型的错误消息相关

    我在模型中使用 validates linked 来使用其他模型的验证代码 问题是验证失败的消息是 is invalid 我想将模型验证失败的实际描述错误冒泡到顶部 我发现这个问题 验证与模型的错误消息关联 https stackoverf
  • i18n:特定型号的错误消息本地化

    我可以为每个验证本地化错误消息 但如何为特定模型创建错误 普通的语言环境如下所示 en mongoid errors messages taken It is already taken 但我想更改消息user model en mongo
  • ActiveRecord 布尔验证接受非布尔值

    我正在尝试验证属性是否为布尔值 即 true 或 false 从我期望的 Rails 指南中 validates new out of stock inclusion in true false 可以工作 但它接受非布尔值 例如 Hi 作为
  • 应该使用 Rspec Gem 在 Belong_to 测试中返回“String:Class 的未定义方法‘reflect_on_association’”

    在我的 Rails 应用程序中 我有我的模型Request Service and ServiceRequest 在我的 models rb 文件中 我有 request rb class Request lt ApplicationRec
  • 多租户 Rails 应用:不同技术的优缺点是什么?

    我最初是为一位客户编写 Ruby on Rails 应用程序的 现在 我正在更改它 以便它可以用于不同的客户 我的最终目标是某些用户 不是我 可以单击按钮并创建一个新项目 然后生成所有必要的更改 新架构 新表 代码处理 无需任何人需要我编辑
  • 适用于移动应用程序的 Rails REST API。会议

    我正在创建一个移动应用程序 该应用程序拥有用户并与后端的自定义 Rails REST API 进行通信 我应该在登录时创建会话吗 或者我应该在每个请求中发送用户名和密码 如果会议是可行的方法 那么通常是如何实施的 只需生成令牌 并使用它们来
  • 如何使 Active Record 连接返回唯一的对象?

    我有一个简单的查询需求 查找自2013年1月1日以来下过订单的用户列表 在 SQL 中 这是一个非常简单的查询 但我正在使用 Rails 和 Active Record 所以我写道 User joins orders where order
  • Rails actionmailer 打开主机电子邮件应用程序

    我想通过链接打开用户的默认邮件应用程序 附加附件 收件人 字段为空 主题和正文中包含一些预先填充的文本 使用 ActionMailer 我可以让它从我的 Gmail 帐户发送 但它不会打开默认的电子邮件应用程序 这是我在 ActionMai
  • Unicorn + Rails + 大型上传

    我试图在使用 Rails 在 Heroku 上运行 Unicorn 时允许进行大型上传 但我意识到任何大型上传可能需要比 Unicorn 工作线程的超时时间更长的时间 这意味着 我见过这种情况发生 Unicorn 主进程将杀死上传大文件的工

随机推荐

  • 我可以将 emmeans 与 LME 模型一起使用吗?

    我使用的 LME 模型定义如下 mod4 lme lt lme pRNFL Init Age Status I Time 2 random 1 Patient EyeID data long1 na action na omit 输出是 g
  • Scala - 隐式转换与 unapply

    我想要一个提取器隐式转换其参数 但它似乎不起作用 考虑这个非常简单的情况 case class MyString s String implicit def string2mystring x String MyString new MyS
  • Three.js - 缩小时物体消失

    在我的 Three js 项目中 我为相机使用高 z 位置 当 z 位置太高时 我的场景会变黑 所以 当我缩小时 它会变成黑色 但我不希望这种情况发生 This is how it is with camera position z 300
  • 深层链接在 Android 版 Chrome 中不起作用

    我为我的应用程序定义了一个意图过滤器 如下所示 Accepts URIs that begin with urban success gt
  • 检查数据库记录映射上的空值

    如何检查附加代码中的数据库空值 请理解我是一个新的 C 皈依者 此代码的作用是获取 IDataReader 对象并将其转换并映射到强类型对象列表 但我发现 当阅读器中返回空列时 它会完全出错 转换器 internal class Conve
  • Prawn 有多少种字体可用?

    我一直在随机尝试 Prawn 中的 Ruby 字体 例如 Times New Roman 是 Palatino Linotype 否 是否有可用字体和不可用字体的列表 代码中有默认字体列表 位于 lib prawn font afm rb
  • Django ORM 继承与 ManyToMany 字段

    假设我有以下 ORM 类 为了简化而删除了字段 class Animal models Model say def say something self return self say class Cat Animal self say I
  • 后台活动识别

    我正在制作一个使用 ActivityRecognition API 在后台跟踪用户活动的应用程序 如果用户在指定的时间段 例如 1 小时 内保持在同一位置 则系统会推送通知 告诉用户去散步 我已经实现了活动识别 但仅限于应用程序打开时的情况
  • 从.NET 4.5.2项目访问appsettings.json

    我有两个项目 一个 1 1 0 ASP NET Core 项目和一个对 4 5 2 项目的引用 我想从 appsettings json 文件获取值到我的 4 5 2 项目 appsettings json 文件位于核心项目中 在我的 4
  • 如何在两个html页面之间做过渡效果

    我需要在html页面之间提供过渡效果 当单击菜单或子菜单时 页面将以过渡效果打开 请指导我 如何做到这一点 提前致谢 下面的链接只有 div 转换 没有页面转换 html页面之间可以进行相同的转换吗 如何在两个 HTML 页面之间添加过渡
  • 如何在 shell 脚本中切换到不同的用户并使用新用户执行某些命令?

    我当前使用用户 USER1 登录 SERVER1 并且我已将 bash 脚本放在这里 该脚本必须切换到同一服务器 SERVER1 上的不同用户 USER2 并使用新切换的用户执行一些命令 注意 USER1 不是 root 用户 因此我需要在
  • SQL:一个查询中有两个 select 语句

    我想从一个查询中的两个 SQL 表中选择信息 但这些信息是不相关的 因此不存在潜在的联合 以下设置就是一个示例 tbl马德里 id name games goals 1 ronaldo 100 100 2 benzema 50 25 3 b
  • 使用递归进行文件复制期间的powershell错误检查

    我有一个程序可以递归地复制文件夹和文件 例子 Copy Item path folderA destination folderB recurse 有时文件不会复制 有没有办法 步入递归 或更好的方法来做到这一点 这样我就可以在过程中而不是
  • Java:查找某个单词在字符串中出现的次数(是否有类似于 C# 的表达式)?

    我对查找一个单词在字符串中出现的次数很感兴趣 我看过SUN的例子匹配器演示 https stackoverflow com questions 3016522 count the number of times a string appea
  • c# 查找目录中包含列表/数组/数据表等中指定的值的所有文件名

    使用 c NET 4 6 1 我有一组字符串 我想用它们从给定目录中选择 有效 文件 这就是我的意思 下面是我想要用来从存储在数组中的目录获取预期文件名的字符串示例 我不关心这些值是否存储在数组 列表或其他类型的集合中 我可以将它们放入最适
  • 如何自定义斯巴达克斯中的较低级别组件?

    我正在尝试自定义ProductListItemComponent和ProductGridItemComponent为了添加更多功能 例如库存柜台 经过一些快速研究后 我得出的结论是 无法使用cmsComponents对象 只有实际的 CMS
  • 演示无法在 Windows 10 上运行

    我一直在尝试在装有 Windows 10 的本地计算机上运行 R3 Corda 提供的所有示例和演示 https docs corda net releases release V1 0 running the demos html htt
  • 从 Any 进行投射时 UIColor 子类崩溃?

    我知道 子类化UIColor不推荐 苹果说 大多数开发人员不需要子类化 UIColor 但是我愿意 有关原因的更多信息可以从另一个问题 https stackoverflow com questions 59739137 overridin
  • MySQL 查询耗时超过 6 秒

    不久前 我得到了一些有关特定查询的帮助 这是链接 SQL Group BY 在新列中使用字符串 https stackoverflow com questions 31012881 sql group by using strings in
  • Rails 中根据条件随机选择 n 个对象

    我有一个名为 Post 的模型 有一个名为 vote 的专栏 并且有大量帖子 我想随机选择 n 个拥有 gt x 票的帖子 与帖子数量相比 n 非常小 做这个的最好方式是什么 我尝试了几种似乎效率很低的方法 谢谢 如果您使用 MySQL 您