使用外连接的PostgreSQL时间序列查询

时间:2016-10-11 08:35:25

标签: sql postgresql join time-series outer-join

在PostgreSQL 9.5数据库中有一个包含各种指标的表 metrics_raw types:varchar )。
类型是(例如): TRA RTC 我正在执行以下SQL以获取年度最新的月度聚合:

SELECT
  count(*),
  "ticks"."ts" AS "timestamp"
FROM
  "metrics_raw"
RIGHT OUTER JOIN
  generate_series('2016-01-01'::timestamp, '2016-10-10'::timestamp, '1 month'::interval) AS ticks(ts)
ON
  "ticks"."ts" = date_trunc('months', "metrics_raw"."timestamp")
WHERE
  "metrics_raw"."type" = 'TRA' OR
  "metrics_raw"."type" IS NULL
GROUP BY "ticks"."ts"
ORDER BY "ticks"."ts"

该表包含 TRA 类型(~10条记录)的一些记录和 RTC 类型的1条记录。
执行 TRA 的查询我按预期得到 10 行,但对于 RTC 查询,我只获得 7 行。还有一件事是没有 RTC 指标我也得到 10 行。

哪里可能是个错误?

1 个答案:

答案 0 :(得分:0)

感谢@Nemeros,我将查询修改为:

$('.altimage12').click(function () {
    $("#main4").fadeOut(400);
    $("#main4").attr('src', "img/gallery/1951/3.JPG");
    $("#main4").fadeIn(400);
    return false;
});