【发布时间】:2011-11-28 22:10:15
【问题描述】:
我有一个记录数据库,我想选择最近一周的几天并按天分组以获取这些记录的每天计数。如果我手动编写 MySQL 查询,我会从以下内容开始:
SELECT COUNT( id ) AS count, DAY( created_at ) AS the_day
FROM `results`
GROUP BY the_day
我如何使用ActiveRecord 来抽象这个查询以便它也适用于 PostgreSQL?所以,到目前为止,我有一个范围来选择上面的这个查询,但我不确定这是否适用于 PostgreSQL:
scope :recent, lambda {
select(['id', 'COUNT(id) AS the_count', 'DAY(created_at) AS the_day'])
.where(:created_at => 7.days.ago.utc...Time.now.utc)
.order('the_day DESC')
.group('the_day')
}
【问题讨论】:
标签: mysql ruby-on-rails postgresql activerecord