我有一个记录数据库,我希望选择最近一周的天数,并按天分组,以获得这些记录每天的计数。如果我手动编写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')
}发布于 2011-11-29 09:07:20
SQL规范提供了一种与数据库无关的提取方法:EXTRACT(<unit> FROM <date>)
https://stackoverflow.com/questions/8303075
复制相似问题