From: | wangqi <wangqi(at)edgesoft(dot)cn> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-admin(at)postgresql(dot)org |
Subject: | Re: about select use random |
Date: | 2012-07-25 03:33:02 |
Message-ID: | 500F68EE.5000602@edgesoft.cn |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin |
Thanks Tom, I try it.
于 2012-7-25 10:55, Tom Lane 写道:
> wangqi <wangqi(at)edgesoft(dot)cn> writes:
>> ■SQL-3
>> select * from wk_mclid1 where id1= (round((random() * (10-1))::integer)
>> + 1)::integer;
>> When we excute SQL-3,sometimes the result was 0 record or more than 1
>> record.
>> Why?
> random() is re-evaluated for each row scanned by the SELECT.
>
> If you don't want that, you can use a WITH to lock down the result of a
> single random() call.
>
> regards, tom lane
>
--
----------------------------------------------------
Yours sincerely,
Qi Wang
Edgesoft (China) Co.,Ltd
F26th Block B,Zhongli Building,
No.32 Huoju Road,
Hi-Tech Zone,Dalian,China
Zip:116023
Tel:+86-411-84753511
Fax:+86-411-84753577
http://www.edgesoft.cn
mailto:wangqi(at)edgesoft(dot)cn
----------------------------------------------------
From | Date | Subject | |
---|---|---|---|
Next Message | wangqi | 2012-07-25 05:18:07 | Re: about select use random |
Previous Message | Tom Lane | 2012-07-25 02:55:29 | Re: about select use random |