Window functions provide the ability to perform
calculations across sets of rows that are related to the current query
row. See for an introduction to this
- feature.
+ feature, and for syntax
+ details.
The default framing option is RANGE UNBOUNDED PRECEDING>,
which is the same as RANGE BETWEEN UNBOUNDED PRECEDING AND
CURRENT ROW>; it sets the frame to be all rows from the partition start
- up through the current row's last peer in the ORDER BY>
- ordering (which means all rows if there is no ORDER BY>).
+ up through the current row's last peer (a row that ORDER
+ BY> considers equivalent to the current row, or all rows if there
+ is no ORDER BY>).
In general, UNBOUNDED PRECEDING> means that the frame
starts with the first row of the partition, and similarly
UNBOUNDED FOLLOWING> means that the frame ends with the last
results if the ORDER BY> ordering does not order the rows
uniquely. The RANGE> options are designed to ensure that
rows that are peers in the ORDER BY> ordering are treated
- alike; any two peer rows will be both in or both not in the frame.
+ alike; all peer rows will be in the same frame.
first peer> row (a row that ORDER BY> considers
equivalent to the current row), while a frame_end> of
CURRENT ROW> means the frame ends with the last equivalent
- peer. In ROWS> mode, CURRENT ROW> simply means
+ ORDER BY> peer. In ROWS> mode, CURRENT ROW> simply means
the current row.
which is the same as RANGE BETWEEN UNBOUNDED PRECEDING AND
CURRENT ROW>. With ORDER BY>, this sets the frame to be
all rows from the partition start up through the current row's last
- peer. Without ORDER BY>, all rows of the partition are
+ ORDER BY> peer. Without ORDER BY>, all rows of the partition are
included in the window frame, since all rows become peers of the current
row.