一个看似简单的问题。我不会
有一表a,有三个字段:
f1 f2 f3
1a01
1b02
1g03
2c01
2d02
2e03
3f01
想每个相同的f1只取第一条数据
结果:
f1 f2 f3
1a01
2c03
3f01
[解决办法]
--按记录顺序取第一条
select * from tb a where f3=(select top 1 f3 from tb where f1=a.f1)
--取最小
select * from tb a where f3=(select min(f3) from tb where f1=a.f1)
--取最大
select * from tb a where f3=(select max(f3) from tb where f1=a.f1)
--随机取
select * from tb a where f3=(select top 1 f3 from tb where f1=a.f1 order by newid())