You can do what you want using the nicer syntax:
from = start.beginning_of_day
to = Time.zone.now
Rating.group('date(created_at)').where(created_at: from .. to).count(:score)
This will return a hash with a date (created_at) as the key and a counter (: score) as the value for each day.
: { "2014-01-21" = > 100, "2014-01-22" = > 1213}
SQL:
SELECT COUNT("ratings"."score") AS count_score, date(created_at) AS date_created_at FROM "ratings" WHERE ("ratings"."created_at" BETWEEN '2014-01-21' AND '2014-01-24') GROUP BY date(created_at)