回答

收藏

Greenplum中的滚动(移动)中值

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

我想计算Greenplum 中 列的 滚动中位数 ,即如下:
# S& J6 f( f% k|  x | rolling_median_x |7 m4 c& g8 \5 Y, t3 n: [( |! c
| -- + ---------------- |. Q2 `5 ]0 v, Y. E, N% p
|  4 |                4 |8 O8 w  G$ W; h. e
|  1 |              2.5 |
* f. c! B2 A- w. J4 I- X" C3 x|  3 |                3 |7 t0 c2 q* }: K4 e/ n+ T$ E
|  2 |              2.5 |9 q/ `% {9 o- e
|  1 |                2 |
9 w# W$ t2 h8 K& l|  6 |              2.5 |
& L. ]$ Y6 F1 Q- U. e|  9 |                3 |6 b- Z# E0 Z  N4 Q
x是一个整数,每行rolling_median_x显示x当前行和前一行的中位数。例如第三行rolling_median_x =! u+ A" K9 S( U  u0 B
median(4, 1, 3) = 3。
" Q* `# l/ \  v+ I( a到目前为止我发现的事情:
1 C* J+ I5 A8 s7 i) b该median函数不能用作框架窗口函数,即median(x) OVER(RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)" A$ l, y7 k- R7 q" Q- ?% E
许多其他功能(例如percent_rank或)也是如此nth_value+ L/ @' G/ W9 M  x' |
此版本的Greenplum不支持递归自联接0 U5 _. u; @; A0 V; w$ k- y( `& l% |

( f6 n* U3 q) W5 R, P事实上,我找不到合适的文档,有关这些文档可以在Greenplum中用作框架窗口函数…
7 P) z4 P) ?& Z2 {我正在使用Greenplum 4.3.4.0(基于Postgres 8.2.15),不幸的是更新不是一种选择。4 T8 \) e( [% E5 [: n
               
- O" y7 T3 y8 K  V, a9 x# v# O解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则