> That is a bit problematic because it necessitates knowing the number > of rows total, and slow counting is an idiosyncrasy of postgres. > > http://wiki.postgresql.org/wiki/Slow_Counting > > To get the top 10%: > > SELECT * FROM table LIMIT(SELECT (COUNT(*) * 0.1)::integer FROM table) I think I wasn't making myself clear. I don't want the top 10% of the rows. I want the rows with the top 10% of the values in a column. In my case there is a very non linear set of values. The lowest value is 1 and the vast majority of records have a 1 in the column. The highest value might be in the tens of thousands. I want to pull up the records that have the top ten percent values. -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general