当前位置: 代码迷 >> Sql Server >> 求教一个查询话语,生成序列号
  详细解决方案

求教一个查询话语,生成序列号

热度:92   发布时间:2016-04-27 10:52:04.0
求教一个查询语句,生成序列号
tab1
serial_no file_name,file_flag
  12 145.txt 0
  13 145.txt 2
  14 57.doc 0
  15 67.doc 1
  16 67.doc 2
  17 36.doc 0
  18 36.doc 1
查询要得到以下结果

ID serial_no file_name  
1 12 145.txt  
  13 145.txt  
2 14 67.doc  
  15 67.doc  
  16 67.doc  
3 17 36.doc  
  18 36.doc  

每一个file_flag为0时表示开始标志2为结束,请教这个查询语句,在线等待

------解决方案--------------------
rank排序

------解决方案--------------------
SQL code
with cet1 as(select dense_rank()over(order by serial_no)rn,serial_no from tb where file_name = 0)select isnull(cast(rn as varchar(10)),'')ID,a.serial_no, a.file_namefrom tb a left join cet1 b on a.serial_no = b.serial_no
  相关解决方案