Count DIFFERENT results in a rails find call
Let's suppose I have a mod开发者_StackOverflowel with only two fields: name and street name.
How would I find out the number of different *street names* in a controller method?
This will return the total number of different street_names
Model.group(:street_name).all.count
This will return an ordered hash with a count of names on each street
Model.group(:street_name).count
why don't you do a 'count_by_sql' where you would use the request select count(*) from (select distinct(street_name) from <table_name>)
Otherwhise you can do it in ruby: <ModelName>.all.group_by(&:street_name).size
Try this !
Model.find(:all,:select => 'DISTINCT street_name').size
精彩评论