欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

怎么给查询结果排序后加序号

更新时间: 2014-01-05 02:16:17 责任编辑: Author_N1

 

怎样给查询结果排序后加序号
想实现这样的功能:在按plan_code排序后,再按排序后的顺序给每一行加上行序1、2、3等,我用下面的语句,但是出来的序号成了这样
1  涂装  B20120306001  
3  涂装  B20120306002  
7  涂装  B20120306003  
2  总装  C20120306001  
6  总装  C20120306002  
4  总装  C20120306003   
5  总装  C20120306004     
8  总装  C20120306005 
而我想要的是1、2、3、4、5这样排下去的~求解

select ROWNUM,"
            +"(case SUBSTR(PLAN_CODE,1,1) when 'A' then '焊装' when 'B' then '涂装' else '总装' end)state,"
            + "PLAN_CODE,PLAN_NAME,PLAN_MODEL,PLAN_BEGIN_DATE,PLAN_QUANTITY,PLAN_ONLINE_QUANTITY,PLAN_OFFLINE_QUANTITY,DDBH "
            +"from data_plan where PLAN_BEGIN_DATE=to_date('" + date2 + "','yyyy-mm-dd') order by plan_code"

--参考方法--
因为rownum是子你查询的时候就已经生成了  然后按照plan_code排序 rownum当然不会连续了  

select ROWNUM,t1.* from "
            +"(select (case SUBSTR(PLAN_CODE,1,1) when 'A' then '焊装' when 'B' then '涂装' else '总装' end)state,"
            + "PLAN_CODE,PLAN_NAME,PLAN_MODEL,PLAN_BEGIN_DATE,PLAN_QUANTITY,PLAN_ONLINE_QUANTITY,PLAN_OFFLINE_QUANTITY,DDBH "
            +"from data_plan where PLAN_BEGIN_DATE=to_date('" + date2 + "','yyyy-mm-dd') order by plan_code) t1"

上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:16:17
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/7813/
本文WWW.DOC100.NET DOC100.NET版权所有。