Re: randomized order in select?

From: "scott(dot)marlowe" <scott(dot)marlowe(at)ihs(dot)com>
To: Iain <iain(at)mst(dot)co(dot)jp>
Cc: Enver ALTIN <enver(dot)altin(at)frontsite(dot)com(dot)tr>, <pgsql-sql(at)postgresql(dot)org>
Subject: Re: randomized order in select?
Date: 2004-03-11 16:28:43
Message-ID: Pine.LNX.4.33.0403110924161.11329-100000@css120.ihs.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

On Thu, 11 Mar 2004, Iain wrote:

> If you have a lot of tips, you could create a unique indexed tip number
> column. Select the highest tip number using:
>
> select tip_number from tips order by tip_number desc limit 1;
>
> Then generate a random number and select using that tip_number.
>
> Of course, you would have to allow for the possibility of missing tip
> numbers, by repeating the random number generation/read sequence until you
> find something. Since the tip_number isn't the PK of the table, you can
> regenerate the tip numbers to eliminate holes from deletions any time you
> like. Just reset the sequence to 1 and update all rows with the
> nextval(tipnumber_seq).
>
> Sounds like a lot of work to me though...

Assuming there are ten rows, you can use this:

select * from table limit 1 offset random()*10;

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message scott.marlowe 2004-03-11 17:14:17 Re: designer tool connect to PostgreSQL
Previous Message Jonathan M. Gardner 2004-03-11 16:22:01 Re: Break a report in Run Time