我需要创建一个图表来显示关闭各种交易需要多长时间。交易达成交易所需的时间由交易的created_at和closed_at时间戳计算得出。
我希望将交易分为两个时间段:交易时间为0到30天,交易时间为31天到60天。
即。我想要像这样的哈希{" 1-30" => 5," 31-60" => 10}其中值是该年龄段的交易数量。
由于我的模型没有days_old列,因此在进行分组时我需要使用Postgres来计算。
我已尝试过以下操作,但我收到以下错误消息。任何人都可以指出我哪里错了吗?我确定CASE语法是正确的。
sql = <<~SQL
count(*),
CASE
WHEN ABS( DATE_PART('day', created_at - closed_at) ) BETWEEN 0 AND 30 THEN '0-30'
WHEN ABS( DATE_PART('day', created_at - closed_at) ) BETWEEN 31 AND 60 THEN '31-60'
END AS day_range
SQL
Deal.select(sql).group(:day_range).count
ActiveRecord::StatementInvalid: PG::SyntaxError: ERROR: syntax error at or near "AS"
LINE 6: END AS day_range