sorry, my bad, thanks for the clarification!

вт, 21 січ. 2025 р., 18:40 користувач David G. Johnston <
david.g.johns...@gmail.com> пише:

> On Tue, Jan 21, 2025 at 10:39 AM Tom Lane <t...@sss.pgh.pa.us> wrote:
>
>> PG Doc comments form <nore...@postgresql.org> writes:
>> > EXPECTED:
>> > As shown here, the rank function produces a numerical rank for each
>> distinct
>> > PARTITION BY value in the current row's partition, using the order
>> defined
>> > by the ORDER BY clause. rank needs no explicit parameter, because its
>> > behavior is entirely determined by the OVER clause.
>>
>> > ACTUAL:
>> > As shown here, the rank function produces a numerical rank for each
>> distinct
>> > ORDER BY value in the current row's partition, using the order defined
>> by
>> > the ORDER BY clause. rank needs no explicit parameter, because its
>> behavior
>> > is entirely determined by the OVER clause.
>>
>> Hmm, I think the current text is correct, or at least more nearly
>> correct than what you suggest.
>
>
>
>
>
>>   Look at the example:
>>
>> <programlisting>
>> SELECT depname, empno, salary,
>>        rank() OVER (PARTITION BY depname ORDER BY salary DESC)
>> FROM empsalary;
>> </programlisting>
>>
>> <screen>
>>   depname  | empno | salary | rank
>> -----------+-------+--------+------
>>  develop   |     8 |   6000 |    1
>>  develop   |    10 |   5200 |    2
>>  develop   |    11 |   5200 |    2
>>  develop   |     9 |   4500 |    4
>>  develop   |     7 |   4200 |    5
>>  personnel |     2 |   3900 |    1
>>  personnel |     5 |   3500 |    2
>>  sales     |     1 |   5000 |    1
>>  sales     |     4 |   4800 |    2
>>  sales     |     3 |   4800 |    2
>> (10 rows)
>> </screen>
>>
>> The ranks are separate within each partition (depname), and
>> within a partition rows having the same salary get the
>> same rank.
>>
>>                         regards, tom lane
>>
>>
>>

Reply via email to