gpt4 book ai didi

sql - 基于计数分组的 Active Record 对象

转载 作者:行者123 更新时间:2023-11-29 13:32:34 24 4
gpt4 key购买 nike

您好,我是 ROR 开发人员,使用 rails 3.2.13 和 Postgres 数据库。

我有两个模型:

Question
attr_accessible :category, :is_active, :question_text, :question_type_id, :survey_id,
:user_id
has_many :abusive_questions

AbusiveQuestion
attr_accessible :question_id, :user_id, :ipaddress, :posted_by

belongs_to :question

由此我想获得计数大于特定值(例如:5)的 AbusiveQuestion。

我在我的 rails 命令中做了以下操作

AbusiveQuestion.count(:group=>"abusive_questions.question_id")

得到了

=> {1=>1, 5=>3, 3=>1} 

对于这个结果,键是 question_id,值是计数,但是,我想得到的问题是哪个值大于特定的动态值(例如:2)。

请帮帮我。

最佳答案

我想你会想在 AbusiveQuestion加入 Question 然后使用 select拥有才能得到你想要的。

类似于:

AbusiveQuestion.select('abusive_questions.*, count(question.id) as question_count').
joins(:questions).
group('abusive_questions.question_id').
having('count(abusive_questions.question_id) > 5')

关于sql - 基于计数分组的 Active Record 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20124100/

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