Hi Tom
If you don't want that, you can use a WITH to lock down the result of a
single random() call.
How should I do it?
于 2012-7-25 10:55, Tom Lane 写道:
> wangqi writes:
>> ■SQL-3
>> select * from wk_mclid1 where id1= (round((random() * (10-1))::integer)
>> + 1)::integer;
>> When we excute SQ
Thanks Tom, I try it.
于 2012-7-25 10:55, Tom Lane 写道:
> wangqi 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
wangqi 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
Hi everyone
■SQL-1
CREATE TABLE wk_mclid1(
id1 integer ,
PRIMARY KEY(id1)
);
■SQL-2
INSERT INTO wk_mclid1(id1)
VALUES(1),(2),(3),(4),(5),(6),(7),(8),(9),(10)
GO
■SQL-3
select * from wk_mclid1 where id1= (round((random() * (10-1))::integer)
+ 1)::integer;
When we excute SQL-3,sometimes the res