【发布时间】:2020-06-23 14:03:37
【问题描述】:
我需要计算 -10 到 10 之间的计算值的总数。 我试图做的是:
WITH routes as (
SELECT
reg,
heading-lag(heading) over (PARTITION BY reg order by time) AS direction
FROM my_table
)
SELECT direction, reg, Count(direction) AS total_count
FROM routes WHERE direction between -10 AND 10
GROUP BY reg, direction;
这会计算每条路线有多少介于 -10 和 10 之间的每个值。但是如何在给定范围内只计算每条路线的一个值?
【问题讨论】:
-
如果您从
GROUP BY子句中删除direction列,是否可以解决您的问题? -
如果我这样做,它会说
direction must appear in the GROUP BY clause or be used in an aggregate function -
我添加了一个带有重写查询的答案。如果这不起作用或不适合您的情况,您能否编辑问题并添加一些示例数据以及您要寻找的结果?
标签: postgresql count postgis