我被要求提供一个SQL语句,用于从VMS上Oracle RDB上托管的数据库中的数据表中随机选择任意数量的行。
在MS SQL中,它只是:
SELECT TOP 5 *
FROM MyTable
ORDER BY NEWID()
但是我找不到RDB / VMS的等效方法。
“正确”Oracle将是:
ORDER BY dbms_random.VALUE
但是,在VMS上的RDB中似乎并没有这样做。
非常感谢任何见解。
答案 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)