Ruby-on-rails – How to count the number of records that have a unique value in a particular field in ROR

activerecordrubyruby-on-rails

I have a record set that includes a date field, and want to determine how many unique dates are represented in the record set.

Something like:

Record.find(:all).date.unique.count 

but of course, that doesn't seem to work.

Best Solution

This has changed slightly in rails 4 and above :distinct => true is now deprecated. Use:

Record.distinct.count('date')

Or if you want the date and the number:

Record.group(:date).distinct.count(:date)