随机记录选择 - VMS / RDB

时间:2011-06-28 22:12:55

标签: sql vms rdb

我被要求提供一个SQL语句,用于从VMS上Oracle RDB上托管的数据库中的数据表中随机选择任意数量的行。

在MS SQL中,它只是:

SELECT TOP 5 * 
FROM MyTable  
ORDER BY NEWID()   

但是我找不到RDB / VMS的等效方法。

“正确”Oracle将是:

ORDER BY dbms_random.VALUE

但是,在VMS上的RDB中似乎并没有这样做。

非常感谢任何见解。

2 个答案:

答案 0 :(得分:0)

SELECT *
FROM MyTable 
ORDER BY NEWID()
LIMIT to 5

答案 1 :(得分:0)

我不知道“RDB方式”这样做,但如果记录有顺序ID,找出hightest-number ID,然后通过脚本生成一个随机的ID列表来获取。类似的东西:

SELECT TOP 1 FROM mytable ORDER BY id DESC;

然后在Python中:records = random.sample(range(topId), 5)