有点想像力,不过这不是SQL做的事情,别难为它了。
你可以用Excel做到的

解决方案 »

  1.   

    select a=(case when b=(select top 1 b from t  where a=TT.a) then a else '' end),b
           from t TT
      

  2.   

    如果要排序,可以先排序,放到临时表
    select a,b into #t from t order by aselect a=(case when b=(select top 1 b from #t  where a=TT.a) then a else '' end),b
           from #t TT drop table #t
      

  3.   

    回复人: netcoder(朱二) select a=(case when b=(select top 1 b from t  where a=TT.a) then a else '' end),b
           from t TT
    同意这种方法
      

  4.   

    select a=(case when b=(select top 1 b from t  where a=TT.a) then a else '' end),b
           from t TT group by a,t
      

  5.   

    select a=(case when b=(select top 1 b from t  where a=TT.a) then a else '' end),
           b
      from t TT
    支持朱二
      

  6.   

    yyhyy23(爱上猪猪) select a=(case when b=(select top 1 b from t  where a=TT.a) then a else '' end),b
           from t TT group by a,b 
    的结果 a       b
    ----------------
            李四
            王老五
    男      张三
            桂花
            其他
    女      小翠 还是跟想象有点不同
    去掉group by a,b 则会把后面的男人放到女人里面去
      

  7.   

    用临时表不是太麻烦了? 哭 ;<<<<<<<<<<<<<<<<<<,,
      

  8.   

    呵呵 我的写法太垃圾了 不过结果正确啊select a=
    (case when b=(select top 1 b from (select  * from t group by a,b ) ttt  where a=TT.a) then a  else '' end)
    ,b
     from (select  * from t group by a,b ) TT