34,590
社区成员
发帖
与我相关
我的任务
分享
--测试:
create table tb (ID int , 币种 varchar(10) , 汇率 numeric(5,3), 更新日期 datetime )
insert into tb select 1 , '人民币' , 1 , '2008-01-01'
insert into tb select 2 , '美元' , 7.5 , '2008-01-01'
insert into tb select 3 , '欧元' , 10 , '2008-03-01'
insert into tb select 4 , '美元' , 7 , '2008-05-01'
insert into tb select 5 , '美元' , 6.8, '2008-07-07'
select * from tb T where not exists(select 1 from tb where 币种 = T.币种 and 更新日期> T.更新日期 )
/*
ID 币种 汇率 更新日期
----------------------------
1 人民币 1.000 2008-01-01 00:00:00.000
3 欧元 10.000 2008-03-01 00:00:00.000
5 美元 6.800 2008-07-07 00:00:00.000
*/
drop table tb
SELECT * FROM tb A WHERE A.[更新日期] = (SELECT max(更新日期) FROM tb WHERE 币种=A.币种)
SELECT * FROM TB A WHERE NOT EXISTS
(SELECT 1 FROM TB WHERE 更新日期>A.更新日期 AND 币种=A.币种)