Gab*_*eim 5 postgresql window-functions
是否可以引用窗口分区中的当前行?我想做如下的事情:
SELECT min(ABS(variable - CURRENT.variable)) over (order by criterion RANGE UNBOUNDED PRECEDING)
也就是说,我想在给定的分区中找到最接近当前值的变量。可以做这样的事情吗?
举个例子,来自:
criterion | variable
1 2
2 4
3 2
4 7
5 6
我们将得到:
null
2
0
3
1
谢谢
据我所知,这不能用窗口函数来完成。
但这可以通过自连接来完成:
SELECT a.id,
a.variable,
min(abs(a.variable - b.variable))
FROM mydata a
LEFT JOIN mydata b
ON (b.criterion < a.criterion)
GROUP BY a.id, a.variable
ORDER BY a.id;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1533 次 |
| 最近记录: |