我被要求使用一条SQL语句从Oracle RDB on VMS上托管的数据库的数据表中检索任意数量的随机选择的行。
在MS SQL中,它将简单地:
SELECT TOP 5 *
FROM MyTable
ORDER BY NEWID() 但我找不到适用于RDB/VMS的等效方法。
“合适的”Oracle应该是:
ORDER BY dbms_random.VALUE但是,这似乎没有在VMS上的RDB中被禁止。
任何真知灼见都将不胜感激。
发布于 2011-06-29 20:20:39
SELECT *
FROM MyTable
ORDER BY NEWID()
LIMIT to 5发布于 2011-07-23 09:07:29
我不知道"RDB方式“来做这件事,但是如果记录有连续的ID,找出最高编号的ID,然后通过脚本生成一个随机的ID列表来获取。类似于:
SELECT TOP 1 FROM mytable ORDER BY id DESC;然后在Python中:records = random.sample(range(topId), 5)
https://stackoverflow.com/questions/6513706
复制相似问题