ActiveRecord日期相关查询;MySQL与PostgreSQL

ActiveRecord日期相关查询;MySQL与PostgreSQL,mysql,ruby-on-rails,postgresql,activerecord,Mysql,Ruby On Rails,Postgresql,Activerecord,我有一个记录数据库,我想选择最近一周的天数并按天分组,以获得这些记录每天的计数。如果我手动编写MySQL查询,我会从以下内容开始: SELECT COUNT( id ) AS count, DAY( created_at ) AS the_day FROM `results` GROUP BY the_day 如何使用ActiveRecord来抽象此查询,使其也适用于PostgreSQL?到目前为止,我已经有了一个选择上述查询的范围,但我不确定这是否适用于PostgreSQL: sco

我有一个记录数据库,我想选择最近一周的天数并按天分组,以获得这些记录每天的计数。如果我手动编写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')
  }

SQL规范提供了一种与数据库无关的提取方法:
EXTRACT(FROM)

这可能适用于大多数环境,但是,如果您使用Sqlite3进行测试,那么它似乎不知道如何处理
EXTRACT