前缀是固定的,数字列从 80001,开始增长的, 求出 断号 中不同前缀的最小值!! 样例数据:
SQL cNum ( varchar(30))                          
------------------------------ 
JZ80002 
JZ80004 
XM80003 
XM80005 
JZ80005 我要的结果(断号 中不同前缀的最小值): JZ80001 
xm80001

解决方案 »

  1.   

    select distinct substring(cNum,1,2)+'80001' from tb
      

  2.   

    回复:   select distinct substring(cNum,1,2)+'80001' from tb请问 你怎么 知道 +'80001' 是样例数据中的 断号呢?不如下面这样呢样例数据: 
    SQL cNum ( varchar(30))                          
    ------------------------------ 
    JZ80001 
    JZ80004 
    JZ80005 
    XM80003 
    XM80005 
    我要的结果(断号 中不同前缀的最小值): JZ80002 
    xm80001
      

  3.   

    受了这句的影响,呵呵试试下面这个吧
    declare @tb table(codecNum varchar(30))
    insert @tb 
    select 'JZ80002' union all 
    select 'JZ80004' union all  
    select 'XM80003' union all  
    select 'XM80005' union all  
    select 'JZ80005'select a+b from(
    select substring(codecNum,1,2) as a,min(substring(codecNum,3,len(codecNum))) as b from @tb
    group by substring(codecNum,1,2)) t