Search Postgresql Archives

Re: select random order by random

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux