急!!如何从数据库中有相同记录的表中,只提取相同记录中的一个?

例如,我有表table,有两个字段id, field1,其中id为自增长字段,field1为nvarchar(50),表结构如下:
id field1
-----------------------
1 a
2 b
3 a
4 c
5 a
6 b

我想用一SQL语句,实现从数据库中提取出id及field1的数值,其中field1中的a,b,c只提取一次。
---------------------------------------------------------------

distinct
---------------------------------------------------------------

select max(id),field1 from tabel group by field1

---------------------------------------------------------------

select min(a.id),b.field1
from table1 a,(select distinct field1 from table1) b
where a.field1=b.field1
group by a.id
---------------------------------------------------------------

select min(id),field1 from tabel group by field1也行
---------------------------------------------------------------

select *
from T a
where id in (select max(id)
from T
where field1 = a.field1)

---------------------------------------------------------------

select min(id), field1 from T group field1

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus