Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 选择受数字限制的不同随机列_Sql_Database_Postgresql - Fatal编程技术网

Sql 选择受数字限制的不同随机列

Sql 选择受数字限制的不同随机列,sql,database,postgresql,Sql,Database,Postgresql,我有一个关于使用SELECT DISTINCT…到 我想使用select DISTINCT将1000个随机行选择到一个新表中,select DISTINCT形成了我上一个表中的行组合。例如,我当前的查询是: SELECT DISTINCT p1.id AS id1, p2.id AS id2 INTO my_new_table FROM oldtable AS p1, oldtable AS p2; 如何修改此选项,以便最多选择1000个随机行?我正在处理数百万条记录,因此显然需要一个高效的解

我有一个关于使用SELECT DISTINCT…到

我想使用select DISTINCT将1000个随机行选择到一个新表中,select DISTINCT形成了我上一个表中的行组合。例如,我当前的查询是:

SELECT DISTINCT p1.id AS id1, p2.id AS id2 INTO my_new_table FROM oldtable AS p1, oldtable AS p2;

如何修改此选项,以便最多选择1000个随机行?我正在处理数百万条记录,因此显然需要一个高效的解决方案。

这就是我如何快速随机选择1000行的方法:

SELECT TOP 1000
    FROM OldTable as OT
    WHERE ...
    ORDER BY NEWID()

ORDER BY RAND()LIMIT 1000
?您将上述命令放在我的命令中的什么位置?将其放在末尾,可以从oldtable中选择1000个随机行,但我想在行的组合中选择随机行。
orderbyrandom()
不是大型表的最佳选项——如果您感兴趣,请看什么是更好的选项?