if exists(select * from sysobjects where name='Tb' and xtype='U') drop table Tb
GO
--生成测试用数据,为SELECT初始环境
CREATE TABLE Tb(ID int,mid varchar(20),val int)
INSERT INTO Tb SELECT 1,'1330',12
UNION ALL SELECT 2,'1330',14
UNION ALL SELECT 3,'1330',15
UNION ALL SELECT 4,'1331',0
UNION ALL SELECT 5,'1331',2
UNION ALL SELECT 6,'1335',13
--select * from Tb
GO
--1>僅為查找
select id=min(id),mid,max(val) from Tb
group by mid
order by min(id)
--2>從表中刪除,在表僅保留最大值!
delete A from Tb A where A.val<>(select max(val) from Tb where mid=A.mid)
select * from Tb
Declare @t table(id int,mid varchar(20),val int)
Insert @t Select 1,'1330',12
Union all Select 2,'1330',14
Union all Select 3,'1330',15
Union all Select 4,'1331',0
Union all Select 5,'1331',2
Union all Select 6,'1335',13
------------------
Select * From @t A
Where Not Exists( Select 1 From @t Where mid=A.mid and val>A.val)