ORACLE的一个查询问题

来源:百度知道 编辑:UC知道 时间:2024/06/15 19:50:05
我要取查询数据里的一部分.假如说取10000条里的100条.平均分配那种!有没有什么函数呢??
不是前一百条,要平均那种.
比如查询出来十条取5条.那么取第一条,第三条,第五条,第八条,第十条.

肯定地说,没有你想要的函数。
因为你的需求太随意了,并不是十分确定的结果。这跟SQL语言文化相违背。
只能自己动手模拟一下,效果差不多就行了,别太当真呀。

操作:
1,确定间隔,如1000中选100条,间隔为10。
2,写SQL
select
a.*
from
(select tname, rownum rn from tab) a
where
mod(a.rn-1,10)=0 ; -- 这里的10就是间隔。

select * from (select * from tablename order by sysguid()) where rownum<101