On Mon, 5 Mar 2001, Bruce Momjian wrote:
> > Jelle Ouwerkerk <jelle@openface.ca> writes:
> > > Also, is there a way to randomize the order of a result set?
> >
> > There's always
> > SELECT * FROM foo ORDER BY random();
> >
>
> How does that work?
>
> test=> select random();
> random
> -------------------
> 0.896045367650709
> (1 row)
>
> However:
>
> test=> select * from pg_class order by random();
>
> does return some output. Is it random, and if so, how?
As a guess...
I'd assume that if random() is not marked as cachable, it
would call random() once for each output row after any
where clauses are done so it'd get different random
numbers for each row that it'd use for the sorting.