首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与ActiveRecord日期相关的查询;MySQL与PostgreSQL

与ActiveRecord日期相关的查询;MySQL与PostgreSQL
EN

Stack Overflow用户
提问于 2011-11-29 06:10:15
回答 1查看 326关注 0票数 2

我有一个记录数据库,我希望选择最近一周的天数,并按天分组,以获得这些记录每天的计数。如果我手动编写MySQL查询,我会从如下内容开始:

代码语言:javascript
复制
SELECT COUNT( id ) AS count, DAY( created_at ) AS the_day
FROM  `results` 
GROUP BY the_day

我如何使用ActiveRecord来抽象这个查询,以便它也适用于PostgreSQL?到目前为止,我已经有了一个范围来选择上面的查询,但我不确定这是否适用于PostgreSQL:

代码语言:javascript
复制
  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')
  }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-29 09:07:20

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8303075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档