select  ....
order by 
    (case charindex('Q',Username)>0 then 0 else 1 end),Username

解决方案 »

  1.   

    如果要把Username包含'Q'的排前面:select  ....
    order by 
        (case when charindex('Q',Username)>0 then 0 else 1 end),Username
    如果要把Username首字符为'Q'的排前面:select  ....
    order by 
        (case left(Username,1) when 'Q' then 0 else 1 end),Username
      

  2.   


    create table ttt(UId int identity(1,1),UserName varchar(50))
    GO
    insert ttt values('李8')
    insert ttt values('李2')
    insert ttt values('李ab')
    insert ttt values('李cvvvv')
    insert ttt values('李小')
    insert ttt values('刘a')
    insert ttt values('刘b')
    insert ttt values('Q1')
    insert ttt values('Q2')
    insert ttt values('Q3')
    insert ttt values('Q4')
    insert ttt values('Q4')
    insert ttt values('Q224')
    GOselect * from ttt order by username
      

  3.   

    try---
    select * 
    from 表
    order by case when left(Username,1)='Q' then 0 else 1 end,Username
      

  4.   

    借用aw511(点点星灯)的数据:
    ***************************************************************************
    declare @ttt table(UId int identity(1,1),UserName varchar(50))insert @ttt values('李8')
    insert @ttt values('李2')
    insert @ttt values('李ab')
    insert @ttt values('李cvvvv')
    insert @ttt values('李小')
    insert @ttt values('刘a')
    insert @ttt values('刘b')
    insert @ttt values('Q1')
    insert @ttt values('Q2')
    insert @ttt values('Q3')
    insert @ttt values('Q4')
    insert @ttt values('Q4')
    insert @ttt values('Q224')
     
    select * from @ttt
    order by 
        (case left(Username,1) when 'Q' then 0 else 1 end),Username
      

  5.   

    select  ....
    order by 
        (case left(Username,1) when 'Q' then 0 else 1 end),Username
      

  6.   


    Q1,Q2,Q3,Q4,Q4,Q224只是例子,如果是1212Q21,sfssfQfsffff呢?
      

  7.   

    to : libin_ftsafe(子陌红尘) 请问一下,
    select * from @ttt
    order by 
        (case left(Username,1) when 'Q' then 0 else 1 end),Username中的(case left(Username,1) when 'Q' then 0 else 1 end) 是什么原理吗?
      

  8.   

    select * from ttt
    order by 
        (case when charindex('Q',Username)>0  then 0 else 1 end),Username