Sql 选择受数字限制的不同随机列
我有一个关于使用SELECT DISTINCT…到 我想使用select DISTINCT将1000个随机行选择到一个新表中,select DISTINCT形成了我上一个表中的行组合。例如,我当前的查询是: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 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()
不是大型表的最佳选项——如果您感兴趣,请看什么是更好的选项?