【问题标题】:Add variable as a result in a query在查询中添加变量作为结果
【发布时间】:2016-03-30 15:58:19
【问题描述】:

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 为完整起见,登录信息等统计信息使用 JSONB 存储在 PostgreSQL 中。

【问题讨论】:

    标签: sql ruby-on-rails postgresql


    【解决方案1】:

    我重写了没有 group 子句的查询并正在处理自己。最后,小组只是不打算做我需要做的事情。谢谢。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-09
      • 1970-01-01
      • 2016-01-03
      • 2019-11-20
      • 1970-01-01
      • 2021-10-10
      • 1970-01-01
      • 2017-12-04
      相关资源
      最近更新 更多