【SQL Server】取得Group中的最新的一筆資料(群組最後一筆)

【SQL Server】取得Group中的最新的一筆資料
這幾天剛好需要一個群組中,最新的一筆資料,今天剛好解決了這個問題就隨手記錄起來,避免下次忘記又要重新思考

這幾天剛好需要一個群組中,最新的一筆資料,今天剛好解決了這個問題就隨手記錄起來,避免下次忘記又要重新思考

 


declare @table table
(
 id varchar(10),
 CreateTime date,
 Value int
)
 
insert into @table values ('A' ,'2013/1/1 ' ,1000)
insert into @table values ('D' ,'2013/1/12' ,500)
insert into @table values ('C' ,'2013/1/11' ,650)
insert into @table values ('A' ,'2013/1/2 ' ,RAND() *500 + 1)--A 群組最新資料
insert into @table values ('B' ,'2013/1/10' ,RAND() *500 + 1)--B 群組最新資料
insert into @table values ('C' ,'2013/1/15' ,RAND() *500 + 1)--C 群組最新資料
insert into @table values ('D' ,'2013/1/16' ,RAND() *500 + 1)--D 群組最新資料

select * from @table as t1
where EXISTS (select id,max(CreateTime) as B from @table
group by id
having t1.id = id and t1.CreateTime =max(CreateTime))

執行結果:

image

 

 

 


 

大家好我是饅頭,希望大家喜歡我的文章

如果有錯誤的地方請不吝指教 ^_^