--如果字段a和字段b不完全重复,可以这样,我试过了。
select case when b.字段a is null then '' else a.字段a end as a,a.字段b
from table1 a left outer join
(
select 字段a,b=min(字段b)
from table1
group by 字段a
) as b
on a.字段a = b.字段a and a.字段b = b.字段b
select case when b.字段a is null then '' else a.字段a end as a,a.字段b
from table1 a left outer join
(
select 字段a,b=min(字段b)
from table1
group by 字段a
) as b
on a.字段a = b.字段a and a.字段b = b.字段b
select distinct * from table order by 字段a
declare @a table(a varchar(20),b int)
insert @a values('aa',1)
insert @a values('aa',2)
insert @a values('bb',3)
insert @a values('bb',4)
insert @a values('bb',5)
insert @a values('aa',6)select a,b from (
select a as a,min(b) as b,a as t2
from @a group by a
union all
select '' as a,b,a as t2 from @a
where b not in (select min(b) from @a group by a)) c
order by t2,bresult:
a b
-------------------- -----------
aa 1
2
6
bb 3
4
5(所影响的行数为 6 行)