piotr_sobolewski wrote:
Dear sirs,
I was very surprised when I executed such SQL query (under PostgreSQL 8.2):
select random() from generate_series(1, 10) order by random();
I thought I would receive ten random numbers in random order. But I received
ten random numbers sorted numerically:
random
-------------------
0.102324520237744
0.17704638838768
0.533014383167028
0.60182224214077
0.644065519794822
0.750732169486582
0.821376844774932
0.88221683120355
0.889879426918924
0.924697323236614
(10 rows)
I don't understand - why the result is like that? It seems like in each row
both random()s were giving the same result. Why is it like that? What caused
it?
Your query specifically requested that the result be ordered by the
column "random" in the result set (the default ordering direction being
ASC). Your query is semantically identical to:
SELECT random() AS foo FROM generate_series(1, 10) ORDER BY foo ASC;
I should think that you would get a better result if you dropped the
ORDER BY clause.
brian
---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majordomo@xxxxxxxxxxxxxx so that your
message can get through to the mailing list cleanly