select a=(case when b=(select top 1 b from t where a=TT.a) then a else '' end),b from t TT
如果要排序,可以先排序,放到临时表 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
回复人: netcoder(朱二) select a=(case when b=(select top 1 b from t where a=TT.a) then a else '' end),b from t TT 同意这种方法
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
select a=(case when b=(select top 1 b from t where a=TT.a) then a else '' end), b from t TT 支持朱二
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 则会把后面的男人放到女人里面去
用临时表不是太麻烦了? 哭 ;<<<<<<<<<<<<<<<<<<,,
呵呵 我的写法太垃圾了 不过结果正确啊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
from t TT
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
from t TT
同意这种方法
from t TT group by a,t
b
from t TT
支持朱二
from t TT group by a,b
的结果 a b
----------------
李四
王老五
男 张三
桂花
其他
女 小翠 还是跟想象有点不同
去掉group by a,b 则会把后面的男人放到女人里面去
(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