回答

收藏

Greenplum中的滚动(移动)中值

技术问答 技术问答 214 人阅读 | 0 人回复 | 2023-09-12

我想计算Greenplum 中 列的 滚动中位数 ,即如下:' [. j+ V$ ^* d4 B! U& s
|  x | rolling_median_x |
$ D5 P" M% r& `; }/ q) O- B+ k/ \| -- + ---------------- |# h2 k5 V7 a2 L* ~& ~( [- i7 G
|  4 |                4 |
, n7 i3 G' u9 p4 B4 l" E|  1 |              2.5 |8 a$ p. w- W7 D; x- y. M
|  3 |                3 |; V; C" h7 S5 P$ `: z
|  2 |              2.5 |
. m1 y4 p% f- c! k|  1 |                2 |
' ]1 b2 r- C3 N& M; [1 z. q|  6 |              2.5 |
8 F0 a. d9 g, \- g- r: z9 w7 Y+ h|  9 |                3 |) t! M  B2 j: c6 e, |3 T6 ]
x是一个整数,每行rolling_median_x显示x当前行和前一行的中位数。例如第三行rolling_median_x =0 j5 A5 N) f, |4 |, Q' q
median(4, 1, 3) = 3。% `  |! O/ C+ G6 J
到目前为止我发现的事情:5 x+ K) G. F; q. r; G. i% m
该median函数不能用作框架窗口函数,即median(x) OVER(RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
6 _  ^# {% }: Z( j5 N) r  B: ~' Q. s( h& f许多其他功能(例如percent_rank或)也是如此nth_value1 M4 o  h( b, T* E5 H
此版本的Greenplum不支持递归自联接
$ m5 o+ Y' m, r
: u$ q! o( a- B' L0 M+ M# r$ e  E
事实上,我找不到合适的文档,有关这些文档可以在Greenplum中用作框架窗口函数…1 t1 n  v9 i2 G6 b4 a% [
我正在使用Greenplum 4.3.4.0(基于Postgres 8.2.15),不幸的是更新不是一种选择。
; u- h) y1 I; s, k4 [: v                + S; w+ Z) R! N
解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则