Re: percentile rank query - Mailing list pgsql-general

From William Temperley
Subject Re: percentile rank query
Date
Msg-id 439dc11e0804100920l6fb8dcawc8189623c2d99ca0@mail.gmail.com
Whole thread Raw
In response to Re: percentile rank query  (Osvaldo Rosario Kussama <osvaldo.kussama@gmail.com>)
Responses Re: percentile rank query  (Sam Mason <sam@samason.me.uk>)
List pgsql-general
On Thu, Apr 10, 2008 at 4:36 PM, Osvaldo Rosario Kussama
<osvaldo.kussama@gmail.com> wrote:
>
>  Try:
>
>  SELECT count(*) AS frequency, score,
>  count((SELECT * FROM scoretable st2 WHERE st2.score <= st1.score)) AS
> runningtotal
>  FROM scoretable st1
>  GROUP BY score
>  ORDER BY score
>
>  Osvaldo
>

Thankyou Osvaldo- that worked!

Final version:

SELECT count(*) AS frequency, score,
((((SELECT count(uid) FROM scoretable st2 WHERE st2.score <=
st1.score) - count(*)) + (count(*)/2))::float/(select
count(*) from scoretable))

FROM scoretable st1
GROUP BY score
ORDER BY score

I think that's a percentile rank now.

Cheers

Will

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: select statement fails
Next
From: Bruno Lavoie
Date:
Subject: ODBCng vs psqlODBC