cume_dist()

Returns the cumulative distribution, that is (number of partition rows preceding or peers with current row) / (total partition rows). The value thus ranges from 1/N to 1.

Signature

cume_dist () → double precision

Examples

SELECT product, cume_dist() OVER (ORDER BY amount) FROM orders;
 product  |      cume_dist      
----------+---------------------
 cable    | 0.16666666666666666
 mouse    |  0.3333333333333333
 keyboard |                 0.5
 keyboard |  0.6666666666666666
 monitor  |  0.8333333333333334
 monitor  |                   1
(6 rows)

Run against PostgreSQL 18.6 on 2026-09-13. This is the output we got, not the documentation’s.

Want to run this against your own PostgreSQL server from an iPhone, iPad or Mac? These are ours — every connection goes straight from the device to your database, with no account and no server of ours in between.

Signature and description adapted from the PostgreSQL manual, used under the PostgreSQL License. PostgreSQL is a registered trademark of the PostgreSQL Community Association of Canada. This page is not affiliated with the PostgreSQL Global Development Group.