一个SQL语句如何实现这个效果。

charli2000 2004-06-07 03:26:39
将某数目表里取100条记录,少于100条,全部取出,多于100条,均匀取出.
...全文
77 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
charli2000 2004-06-08
  • 打赏
  • 举报
回复
多谢各位,结贴
wxyq 2004-06-08
  • 打赏
  • 举报
回复
select count(*) into ii from table
for ...(i..ii/100 ?)
execute immediate "select a ,f1,f2 from select rownum a,f1,f2 from table
where a>="|| i|| "*100 and a<("|| i|| "+1)*100
next for
dinya2003 2004-06-08
  • 打赏
  • 举报
回复
建个函数或过程来执行.
beckhambobo 2004-06-07
  • 打赏
  • 举报
回复
create function get_count(p_table in varchar2)
return number
as
num number;
begin
execute immediate 'select count(1) from '||p_table into num;
return trunc(num);
end;
/
select * from table_name where mod(rownum,get_count(table_name)/100)=0
charli2000 2004-06-07
  • 打赏
  • 举报
回复
呃...特例化了
如果是200条,就取出
第1,3,5,7条...
总之到最后查出小于等于100条记录..
jiezhi 2004-06-07
  • 打赏
  • 举报
回复
select * from
(select rownum rn,a.* from a)
where mod(rn,100)=0
charli2000 2004-06-07
  • 打赏
  • 举报
回复
均匀取出是指如果有10000条,就是取出第1,100,200。。。。条记录。

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧