读书人

一个看似简单的有关问题。小弟我不会

发布时间: 2012-02-24 16:30:39 作者: rapoo

一个看似简单的问题。我不会
有一表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())

读书人网 >SQL Server

热点推荐