PostgreSQL之从表中随机取数据

从表中随机取一条数据

这里面使用了一个特殊处理 ORDER BY 随机函数,然后取一条数据。

select * from pg_class where relnamespace <> 2200 ORDER BY random() limit 1;

扩展:我们一般用ORDER BY的话都是会指定字段名的,但是有时也是会用正整数来代替,表示按照select出来的第几个字段进行排序。我试了下,是不能使用小数的,也就是说这里的特殊处理,其实是针对random()随机函数的,而不是针对这个函数得到的结果(即0-1之间的小数)。

从表中随机取随机条数据

参照这个我们也可以随机取几条数据。

select * from pg_class where relnamespace <> 2200 ORDER BY random() limit (random()*10)::INT;

参考:postgresql-从表中随机获取一条记录

你可能感兴趣的:(PostgreSQL,数据库,oracle)