在查询中添加变量

时间:2016-03-30 15:58:20

标签: sql ruby-on-rails postgresql

Rails 4.2.5,PostgreSQL 9.4 +

我有DailyMetric表。顾名思义,它为每个员工提供每日指标。我试图将这些指标汇总到不同的时期,例如一周到一周,上周,一个月到一天等。查询我已拉出所选记录,但我想总结一段时间内的记录,但期间是一个表的外部变量。目前的查询是:

records = DailyMetric.
  where('metrics_date >= ? AND metrics_date <= ?', period.first, period.last).
  select("associate_logon as logon, metrics_date as logon_date,
    sum((metrics #>> '{\"Login\"}')::NUMERIC) as total_logons").
  group('associate_logon, metrics_date')

截至今天,结果是我获得周一和周二的每位员工的记录,其中周一周开始。而不是使用metrics_date的组,我想使用句点分组。

我可以通过修改查询获得所需的结果,还是我必须自己在外部运行这样的摘要?如果需要,我可以做外部摘要。我想知道我是否可以在查询中执行此操作。

FWIW并且为了完整性,诸如Login之类的统计信息使用JSONB存储在PostgreSQL中。

1 个答案:

答案 0 :(得分:0)

我在没有group子句的情况下重新编写了查询并正在处理自己。最后,该组织不会做我需要做的事情。谢谢。