有个Test表ID---Number---AType---AddDate
1----A1------YES-----2010-8-17
2----A2------YES-----2010-8-17
3----A1------NO-----2010-8-17
4----A1------NO-----2010-8-17
5----A2------NO-----2010-8-17
先按A1的输出,然后YES优先,然后是NO
结果是ID:1,3,4,2,5
YES只有一个
如何用SQL语句写
请不要跟我说 select Number, AType, ID from Test
order by Number, Atype DESC, ID 这样可以实现,因为这样的话根本就实现不了

解决方案 »

  1.   

    你自己回答了呀,,, 这句有什么不对啊  order by Number, Atype DESC
      

  2.   

    什么YES只有一个?
    请说明白
      

  3.   

    select Number, AType, ID from Test order by Number, Atype DESC, ID这个结果就是你的需求结果,不对的话也是你需求没表达清楚
      

  4.   

    ID---Number---AType---AddDate
    1----A1------YES-----2010-8-17
    2----A2------YES-----2010-8-17
    3----A1------NO-----2010-8-17
    4----A1------NO-----2010-8-17
    5----A2------NO-----2010-8-17
    先按A1的输出,然后YES优先,然后是NO最后的结果就是下面这样,怎么实现?
    结果是ID:1,3,4,2,5
      

  5.   

    select Number, AType, ID from Test order by Number, Atype DESC还能是啥?
      

  6.   

    拼接字符串
    create function fn_test(@pk int,@type int)
    returns varchar(20)
    as
    begin
        declare @s varchar(20)
        select @s=isnull(@s+',','')+ltrim([score]) from b where pk=@pk and type=@type
        return @s
    end
    godeclare @id varchar(1000)
    select  @id=isnull(@id+',','')+cast(id as varchar)  from Test order by Number, Atype DESC
    print @id