34,870
社区成员




SELECT t.* FROM [TB] t where a=
(select min(a) from [TB] where b=t.b)
select a from tb e inner join (select min(a) as mina,b from tb group by ) f on e.a=f.a
a b c
1 13 诸葛亮
2 8 曹操
3 16 刘备
4 9 孙权
7 2 张非
--> 数据库版本:
--> Microsoft SQL Server 2008 (RTM) - 10.0.1600.22
--> 测试数据:[TB]
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[TB]')
AND type in (N'U'))
DROP TABLE [TB]
GO
---->建表
create table [TB]([a] int,[b] int,[c] varchar(6))
insert [TB]
select 1,13,'诸葛亮' union all
select 2,8,'曹操' union all
select 3,16,'刘备' union all
select 4,9,'孙权' union all
select 5,13,'司马懿' union all
select 6,9,'关羽' union all
select 7,2,'张非'
GO
SELECT *
FROM [TB]
--> 查询结果
SELECT t.* FROM [TB] t where not exists
(select 1 from [TB] where b=t.b and a<t.a)
--> 删除表格
--DROP TABLE [TB]
SELECT distinct b,c
FROM [TB]