在rails找到调用中计算DIFFERENT结果

时间:2011-03-18 13:21:11

标签: ruby-on-rails controller count

假设我的模型只有两个字段:名称街道名称

如何在控制器方法中找出不同的 *街道名称*的数量?

3 个答案:

答案 0 :(得分:4)

这将返回不同 street_names

的总数
Model.group(:street_name).all.count

这将返回一个有序哈希,每个街道上都有一个名字计数

Model.group(:street_name).count

答案 1 :(得分:3)

为什么不使用'count_by_sql'来使用请求select count(*) from (select distinct(street_name) from <table_name>)

其他你可以在ruby中做到:<ModelName>.all.group_by(&:street_name).size

答案 2 :(得分:3)

试试这个!

Model.find(:all,:select => 'DISTINCT street_name').size