mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-09-03 09:57:20 +02:00
Clarify documentation about "peer" rows in window functions
Peer rows are matching rows when ORDER BY is specified. Report by arnaud.mouronval@gmail.com, David G Johnston Backpatch through 9.4
This commit is contained in:
parent
a6283f9706
commit
a6d9b331aa
@ -13048,7 +13048,8 @@ SELECT xmlagg(x) FROM (SELECT x FROM test ORDER BY y DESC) AS tab;
|
|||||||
<firstterm>Window functions</firstterm> provide the ability to perform
|
<firstterm>Window functions</firstterm> provide the ability to perform
|
||||||
calculations across sets of rows that are related to the current query
|
calculations across sets of rows that are related to the current query
|
||||||
row. See <xref linkend="tutorial-window"> for an introduction to this
|
row. See <xref linkend="tutorial-window"> for an introduction to this
|
||||||
feature.
|
feature, and <xref linkend="syntax-window-functions"> for syntax
|
||||||
|
details.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
|
@ -792,8 +792,9 @@ UNBOUNDED FOLLOWING
|
|||||||
The default framing option is <literal>RANGE UNBOUNDED PRECEDING</>,
|
The default framing option is <literal>RANGE UNBOUNDED PRECEDING</>,
|
||||||
which is the same as <literal>RANGE BETWEEN UNBOUNDED PRECEDING AND
|
which is the same as <literal>RANGE BETWEEN UNBOUNDED PRECEDING AND
|
||||||
CURRENT ROW</>; it sets the frame to be all rows from the partition start
|
CURRENT ROW</>; it sets the frame to be all rows from the partition start
|
||||||
up through the current row's last peer in the <literal>ORDER BY</>
|
up through the current row's last peer (a row that <literal>ORDER
|
||||||
ordering (which means all rows if there is no <literal>ORDER BY</>).
|
BY</> considers equivalent to the current row, or all rows if there
|
||||||
|
is no <literal>ORDER BY</>).
|
||||||
In general, <literal>UNBOUNDED PRECEDING</> means that the frame
|
In general, <literal>UNBOUNDED PRECEDING</> means that the frame
|
||||||
starts with the first row of the partition, and similarly
|
starts with the first row of the partition, and similarly
|
||||||
<literal>UNBOUNDED FOLLOWING</> means that the frame ends with the last
|
<literal>UNBOUNDED FOLLOWING</> means that the frame ends with the last
|
||||||
@ -817,7 +818,7 @@ UNBOUNDED FOLLOWING
|
|||||||
results if the <literal>ORDER BY</> ordering does not order the rows
|
results if the <literal>ORDER BY</> ordering does not order the rows
|
||||||
uniquely. The <literal>RANGE</> options are designed to ensure that
|
uniquely. The <literal>RANGE</> options are designed to ensure that
|
||||||
rows that are peers in the <literal>ORDER BY</> ordering are treated
|
rows that are peers in the <literal>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.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
|
@ -1877,7 +1877,7 @@ UNBOUNDED FOLLOWING
|
|||||||
first <firstterm>peer</> row (a row that <literal>ORDER BY</> considers
|
first <firstterm>peer</> row (a row that <literal>ORDER BY</> considers
|
||||||
equivalent to the current row), while a <replaceable>frame_end</> of
|
equivalent to the current row), while a <replaceable>frame_end</> of
|
||||||
<literal>CURRENT ROW</> means the frame ends with the last equivalent
|
<literal>CURRENT ROW</> means the frame ends with the last equivalent
|
||||||
peer. In <literal>ROWS</> mode, <literal>CURRENT ROW</> simply means
|
<literal>ORDER BY</> peer. In <literal>ROWS</> mode, <literal>CURRENT ROW</> simply means
|
||||||
the current row.
|
the current row.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@ -1897,7 +1897,7 @@ UNBOUNDED FOLLOWING
|
|||||||
which is the same as <literal>RANGE BETWEEN UNBOUNDED PRECEDING AND
|
which is the same as <literal>RANGE BETWEEN UNBOUNDED PRECEDING AND
|
||||||
CURRENT ROW</>. With <literal>ORDER BY</>, this sets the frame to be
|
CURRENT ROW</>. With <literal>ORDER BY</>, this sets the frame to be
|
||||||
all rows from the partition start up through the current row's last
|
all rows from the partition start up through the current row's last
|
||||||
peer. Without <literal>ORDER BY</>, all rows of the partition are
|
<literal>ORDER BY</> peer. Without <literal>ORDER BY</>, all rows of the partition are
|
||||||
included in the window frame, since all rows become peers of the current
|
included in the window frame, since all rows become peers of the current
|
||||||
row.
|
row.
|
||||||
</para>
|
</para>
|
||||||
|
Loading…
Reference in New Issue
Block a user