> > OK, so you want a median-style "sort them in descending order and count down > until you've selected the first 10% of rows" approach? In other words, > values in the 90th percentile of the distribution? > > Try this. Given table "x" with single integer column "y", obtain rows of x > in the 90th percentile of y: > > select ranked.y FROM (select percent_rank() over (order by y desc) as pc, y > from x) AS ranked WHERE pc <= 0.1; > > or: > > select ranked.y from (select ntile(10) over (order by y desc) as pc, y from > x) AS ranked WHERE pc = 1; > Thanks I will look into the window functions. I haven't used them before so thanks for the tip. -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general