Re: select where id=random()*something returns two results
Kris Jurka <books@ejurka.com>
From: Kris Jurka <books@ejurka.com>
To: Ulrich Meis <u.meis@gmx.de>
Cc: <pgsql-bugs@postgresql.org>
Date: 2003-09-19T01:15:21Z
Lists: pgsql-bugs
On Fri, 19 Sep 2003, Ulrich Meis wrote: > select * from quotes where id=1+round(random()* cast ((select max(id) > from quotes) as double precision)); > id | quote | > author > -----+-----------------------------------------------------------+------ > ----------- > 187 | Vergib Deinen Feinden, aber vergiss niemals ihre Namen. | John > F. Kennedy > 377 | Die Wirklichkeit ist nicht so oder so, sondern so und so. | Harry > Mulisch > (2 rows) > > I'm not really into databases, but this sounds wrong. Most of the time, > I actually get 0 results. The problem is that random() is evaluated on each line giving a different result. Kris Jurka