gpt4 book ai didi

ruby-on-rails - rails 5 : can't order after group and count

转载 作者:行者123 更新时间:2023-11-29 12:54:45 25 4
gpt4 key购买 nike

在我的 subscribers表 我有重复的电子邮件,所以我想计算这些。我在 Rails 控制台中这样做:

Subscriber.select("email, count(*)").group(:email).order("count (*) desc")

这导致对我的 PostgreSQL 的以下查询数据库:

SELECT email, count(*) FROM "subscribers" GROUP BY "subscribers"."email" ORDER BY count (*) desc

奇怪的是,虽然这个查询在直接从数据库运行时工作正常,但它在 Rails 控制台中不起作用,它返回:

#<ActiveRecord::Relation [#<Subscriber id: nil, email: "a@a.com">, #<Subscriber id: nil, email: "b@b.com">, #<Subscriber id: nil, email: "c@c.com">]>

有什么想法吗?

最佳答案

它有效,但您的订阅者对象没有该聚合字段(并且您没有提取其他字段)。给它起个名字

subscribers = Subscriber.select("email, COUNT(*) AS counter").group(:email).order("COUNT (*) desc")

提取这些字段

subscribers.each { |s| puts s.email, s.counter }

关于ruby-on-rails - rails 5 : can't order after group and count,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46302355/

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