1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| over_clause: {OVER (window_spec) | OVER window_name} window_spec: [window_name] [partition_clause] [order_clause] [frame_clause] partition_clause: PARTITION BY expr [, expr] ... order_clause: ORDER BY expr [ASC|DESC] [, expr [ASC|DESC]] ... frame_clause: frame_units frame_extent
frame_units: {ROWS | RANGE} frame_extent: {frame_start | frame_between}
frame_between: BETWEEN frame_start AND frame_end
frame_start, frame_end: { CURRENT ROW | UNBOUNDED PRECEDING | UNBOUNDED FOLLOWING | expr PRECEDING | expr FOLLOWING }
window_function() OVER ( [PARTITION BY partition_expression] [ORDER BY order_expression [{ASC | DESC}]] [{ROWS | RANGE} frame_clause] )
|