首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

Sql row_number应用

2012-09-23 
Sql row_number使用SQL code由BillNOcNo00893283*1T860096285852300893283*2T860096285852300893283*3T860

Sql row_number使用

SQL code
由          BillNO           cNo    00893283*1    T8600962858523    00893283*2    T8600962858523    00893283*3    T8600962858523    00893283*4    T8600962858523    00893284*1    T8600962858523    00893284*2    T8600962858523    00893284*3    T8600962858523    00893284*4    T8600962858523    00893285*1    T8600962858523    00893285*2    T8600962858523    00893285*3    T8600962858523    00893285*4    T8600962858523得到如下序号(Num)。请问如何实现Num        BillNO           cNo1    00893283*1    T86009628585231    00893283*2    T86009628585231    00893283*3    T86009628585231    00893283*4    T86009628585232    00893284*1    T86009628585232    00893284*2    T86009628585232    00893284*3    T86009628585232    00893284*4    T86009628585233    00893285*1    T86009628585233    00893285*2    T86009628585233    00893285*3    T86009628585233    00893285*4    T8600962858523


[解决办法]
修正下
SQL code
declare @test table(BillNO varchar(15),cNo varchar(20))insert into @testselect '00893283*1',    'T8600962858523' union allselect '00893283*2',    'T8600962858523' union allselect '00893283*3',    'T8600962858523' union allselect '00893283*4',    'T8600962858523' union allselect '00893284*1',    'T8600962858523' union allselect '00893284*2',    'T8600962858523' union allselect '00893284*3',    'T8600962858523' union allselect '00893284*4',    'T8600962858523' union allselect '00893285*1',    'T8600962858523' union allselect '00893285*2',    'T8600962858523' union allselect '00893285*3',    'T8600962858523' union allselect '00893285*4',    'T8600962858523'select dense_rank() over(order by substring(BillNO,1,charindex('*',BillNO)-1)) Num,BillNO,cNo from @test/*Num                  BillNO          cNo-------------------- --------------- --------------------1                    00893283*1      T86009628585231                    00893283*2      T86009628585231                    00893283*3      T86009628585231                    00893283*4      T86009628585232                    00893284*1      T86009628585232                    00893284*2      T86009628585232                    00893284*3      T86009628585232                    00893284*4      T86009628585233                    00893285*1      T86009628585233                    00893285*2      T86009628585233                    00893285*3      T86009628585233                    00893285*4      T8600962858523*/ 

热点排行