首页 > 数据库 > 数据库开发技术 > 报表中的每一行加上序列号,如何做到
mehod 1: 如果没有分组排序得话可以直接用ROWNUM,如果有,可以用格式列先做一个数字型全局变量(用户参数)i,初始值为0;再做一个在当前组的公式列:i:=i+1;return(i);用公式列做序号就OK了!
method2:直接在SQL中加一个rownum,但是一定要按rownum来排序。
select rownum,
*
from your_table
where .....
order by 1
我采用了输入一个全局变量,然后再加一个公式列
:i=:i+1
return (i);
的方法,可是,分组的时候还是不行,比如有两个分组,
第一个分组的序列号是
1-30
而第二个分组也要是从1开始
可是现在却从31开始了
我觉得应该有个reset at 选项之类的,选择从哪个分组开始
你可以建两个SQL Query,第一个是用来分组的,另一个是其他数据,建一个关联就可以了。
如下图:
这是运行效果:
也可以建临时表什么的,先把需要的包括序号在内的全部数据都放进去,报表直接取自临时表就可以了。
另一种方法设置全局变量的那个估计也可以解决,但是...期待大家用更多方法灵活解决问题.
谢谢
http://218.16.125.28/oradev/bbs_content.jsp?bbs_sn=1483640&bbs_page_no=1&bbs_id=0010
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/226700/viewspace-837529/ ,如需转载,请注明出处,否则将追究法律责任。