2
votes

Hi all, My requirement is simple.I want to select random rows from a table.

For example my table having 10 rows I want to select any three rows randomly.Is there any way in psql.

3

3 Answers

8
votes

Use the random function.

SELECT * FROM tablename ORDER BY random() LIMIT 3;
4
votes

Please be aware that once your table grows the "order by random/limit" approach will be slow, since it requires a whole table scan.

See http://blog.rhodiumtoad.org.uk/2009/03/08/selecting-random-rows-from-a-table/ for an alternative solution.

1
votes

Try this !

$ select * from table_name order by random() limit 3 ;