34,588
社区成员
发帖
与我相关
我的任务
分享
create table table1
(
a nvarchar(50),
b nvarchar(50),
c nvarchar(50),
)
insert into table1
select 'aaa', 'zzzz', 'a12145' union all
select 'aaa', 'zzzz', 'abd11b' union all
select 'aaa', 'bbb', 'abc124'
create table #table1
(
id int identity(1,1),
a nvarchar(50),
b nvarchar(50),
c nvarchar(50),
)
insert into #table1
select * from table1
select *
from #table1 a
where not exists
(
select 1 from #table1 b where a.a = b.a and a.b = b.b and a.id > b.id
)
drop table table1
drop table #table1
结果:
1 aaa zzzz a12145
3 aaa bbb abc124
--> liangCK小梁 于2008-10-22
--> 生成测试数据: @T
DECLARE @T TABLE (列1 VARCHAR(3),列2 VARCHAR(4),列3 VARCHAR(7))
INSERT INTO @T
SELECT 'aaa','zzzz','a12145' UNION ALL
SELECT 'aaa','zzzz','abd11b' UNION ALL
SELECT 'aaa','bbb','abc124' UNION ALL
SELECT 'bbb','zzzz','abde112' UNION ALL
SELECT 'bbb','zzzz','abde124' UNION ALL
SELECT 'bbb','bbb','158482' UNION ALL
SELECT 'bbb','bbb','124582' UNION ALL
SELECT 'bbb','ccd','124545'
--SQL查询如下:
SELECT *
FROM @T AS a
WHERE NOT EXISTS
(
SELECT *
FROM @T
WHERE a.列1=列1
AND a.列2=列2
AND 列3>a.列3
)
/*
列1 列2 列3
---- ---- -------
aaa zzzz abd11b
aaa bbb abc124
bbb zzzz abde124
bbb bbb 158482
bbb ccd 124545
(5 行受影响)
*/