2015-11-08 66 views
0

我通常只使用:純SQL查詢來獲取客戶最近30天內

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

但我收到此錯誤

ArgumentError: wrong number of arguments (2 for 0..1)

所以我想寫一個純SQL查詢:

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

但收到此錯誤:

ArgumentError: expected a clauses Hash, got "created_at > DATEADD(day, -30, getdate())"

關於如何從過去30天獲得客戶數量的任何想法?

+0

什麼是底層的數據庫?請用它來標記問題。 –

+0

對不起 - psql –

回答

0

在Postgres裏,該where條款看起來像:

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

你正在使用的語法是SQL Server語法。

0

只要編輯您的第一個代碼,如:

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