Rails中的纯SQL查询可在过去30天内获得客户

时间:2015-11-08 23:07:30

标签: sql ruby-on-rails postgresql shopify

我通常会使用:

ShopifyAPI::Customer.where("created_at > ?", 30.days.ago).count

但我收到此错误

  

ArgumentError:错误的参数数量(2为0..1)

所以我正在尝试编写一个纯SQL查询:

ShopifyAPI::Customer.where("created_at > DATEADD(day, -30, getdate())").count

但是得到了这个错误:

  

ArgumentError:期望一个子句Hash,得到“created_at> DATEADD(day,   -30,getdate())“

关于如何从过去30天获得客户数量的任何想法?

2 个答案:

答案 0 :(得分:0)

在Postgres中,where子句看起来像:

ShopifyAPI::Customer.where("created_at > CURRENT_DATE - interval '30 day' ").count

您使用的语法是SQL Server语法。

答案 1 :(得分:0)

只需编辑您的第一个代码,如:

ShopifyAPI::Customer.where(["created_at > ?", 30.days.ago]).count