gpt4 book ai didi

mysql - GROUP BY 与 Active Record 的不同和计数 (Rails)

转载 作者:行者123 更新时间:2023-11-29 08:58:34 25 4
gpt4 key购买 nike

使用:Rails 2.3.8 ruby​​ 1.8.7

如何将以下查询转换为 Rails (Active-Record)

MYSQL

SELECT distinct source_code, count(source_code)
FROM table
GROUP BY 1

返回=>

| source_code | count |
| ABC | 16 |
| XYZ | 2 |

Rails 尝试

Model.find(:all, :select => "distinct source_code, count(source_code)", 
:group => 1)

=> [Model source_code: "ABC">, Model source_code: "XYZ">]

如您所见,结果集中缺少计数。

最佳答案

您的 SQL 语句不需要 DISTINCT 子句,因为 GROUP BY 子句将返回不同的 sourcecode 行。

在rails 2.3.x中,您可以获得所需的结果,如下所示:

Model.count(:group => :source_code)

# returns an ordered hash
{
"ABC" => 16,
"XYZ" => 2
}

关于mysql - GROUP BY 与 Active Record 的不同和计数 (Rails),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9266003/

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