proname => 'window_dense_rank_support', prorettype => 'internal',
proargtypes => 'internal', prosrc => 'window_dense_rank_support' },
{ oid => '3103', descr => 'fractional rank within partition',
- proname => 'percent_rank', prokind => 'w', proisstrict => 'f',
- prorettype => 'float8', proargtypes => '', prosrc => 'window_percent_rank' },
+ proname => 'percent_rank', prosupport => 'window_percent_rank_support',
+ prokind => 'w', proisstrict => 'f', prorettype => 'float8',
+ proargtypes => '', prosrc => 'window_percent_rank' },
{ oid => '9773', descr => 'planner support for percent_rank',
proname => 'window_percent_rank_support', prorettype => 'internal',
proargtypes => 'internal', prosrc => 'window_percent_rank_support' },
{ oid => '3104', descr => 'fractional row number within partition',
- proname => 'cume_dist', prokind => 'w', proisstrict => 'f',
- prorettype => 'float8', proargtypes => '', prosrc => 'window_cume_dist' },
+ proname => 'cume_dist', prosupport => 'window_cume_dist_support',
+ prokind => 'w', proisstrict => 'f', prorettype => 'float8',
+ proargtypes => '', prosrc => 'window_cume_dist' },
{ oid => '9774', descr => 'planner support for cume_dist',
proname => 'window_cume_dist_support', prorettype => 'internal',
proargtypes => 'internal', prosrc => 'window_cume_dist_support' },
{ oid => '3105', descr => 'split rows into N groups',
- proname => 'ntile', prokind => 'w', prorettype => 'int4',
- proargtypes => 'int4', prosrc => 'window_ntile' },
+ proname => 'ntile', prosupport => 'window_ntile_support', prokind => 'w',
+ prorettype => 'int4', proargtypes => 'int4', prosrc => 'window_ntile' },
{ oid => '9775', descr => 'planner support for ntile',
proname => 'window_ntile_support', prorettype => 'internal',
proargtypes => 'internal', prosrc => 'window_ntile_support' },
rank() OVER (PARTITION BY depname ORDER BY enroll_date ROWS BETWEEN
UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) rnk,
dense_rank() OVER (PARTITION BY depname ORDER BY enroll_date RANGE BETWEEN
- CURRENT ROW AND CURRENT ROW) drnk
+ CURRENT ROW AND CURRENT ROW) drnk,
+ ntile(10) OVER (PARTITION BY depname ORDER BY enroll_date RANGE BETWEEN
+ CURRENT ROW AND UNBOUNDED FOLLOWING) nt,
+ percent_rank() OVER (PARTITION BY depname ORDER BY enroll_date ROWS BETWEEN
+ CURRENT ROW AND UNBOUNDED FOLLOWING) pr,
+ cume_dist() OVER (PARTITION BY depname ORDER BY enroll_date RANGE BETWEEN
+ CURRENT ROW AND UNBOUNDED FOLLOWING) cd
FROM empsalary;
QUERY PLAN
----------------------------------------
rank() OVER (PARTITION BY depname ORDER BY enroll_date ROWS BETWEEN
UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) rnk,
dense_rank() OVER (PARTITION BY depname ORDER BY enroll_date RANGE BETWEEN
- CURRENT ROW AND CURRENT ROW) drnk
+ CURRENT ROW AND CURRENT ROW) drnk,
+ ntile(10) OVER (PARTITION BY depname ORDER BY enroll_date RANGE BETWEEN
+ CURRENT ROW AND UNBOUNDED FOLLOWING) nt,
+ percent_rank() OVER (PARTITION BY depname ORDER BY enroll_date ROWS BETWEEN
+ CURRENT ROW AND UNBOUNDED FOLLOWING) pr,
+ cume_dist() OVER (PARTITION BY depname ORDER BY enroll_date RANGE BETWEEN
+ CURRENT ROW AND UNBOUNDED FOLLOWING) cd
FROM empsalary;
-- Ensure WindowFuncs which cannot support their WindowClause's frameOptions