一个表有10行记录,怎样随机取一行显示呢? 一个表有10行记录,怎样随机取一行显示呢?select * from table where rownum=1 只能去第一行,可是我想随即取到一行,不想总取第一行,请问怎么写SQL语句? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Select a random record SELECT srvr_idFROM ( SELECT srvr_id FROM servers ORDER BY dbms_random.value)WHERE rownum = 1; wel 解释一下,不懂 排序先调用dbms_random获取的随机数排序,然后取第一条. order by 很慢的。 SELECT srvr_id FROM servers srvr_id=ceil(10*dbms_random.value) Select a random record dbms_random.value 是取随机数Order By dbms_random.value ,为结果集的每一行计算一个随机数,dbms_random.value 是结果集的一个列(虽然这个列并不在select list 中),然后根据该列排序,得到的顺序自然就是随机的啦。 关于ORACLE的行列转换的问题 数据库设计问题 [Oracle/基础和管理]请问OCIStmtPrepare中的语句长度要不要加上“\0”呢? 如何自定义唯一性约束? oracle为什么建不了索引? SQLLDR的一个错误,紧急求助 [在线等待] oracle怎实现全连接?急!! 100分相送,增加一个分组后排序的字段 授权不成功问题? 关于统计和分组,这种情况下不使用union all该如何去查询呢 学习Oracle开发的新网址http://www.sqldeveloper.cn/ 请教给一个数据库表增加一个字段并且赋值的高效办法
FROM (
SELECT srvr_id
FROM servers
ORDER BY dbms_random.value)
WHERE rownum = 1;
wel 解释一下,不懂
FROM servers srvr_id=ceil(10*dbms_random.value)
Order By dbms_random.value ,为结果集的每一行计算一个随机数,dbms_random.value 是结果集的一个列(虽然这个列并不在select list 中),然后根据该列排序,得到的顺序自然就是随机的啦。