如何依照Group取得最後一筆資料
今天在論壇上看到有朋友提到【想抓A欄位的不重複資料的最後一筆資料】的問題,印象中有更漂亮的寫法,不過一時之間想不起來,應湊出了下列的作法,備註一下說不定之後自己會用到。
1: declare @t table
2: (
3: A varchar(10),
4: B datetime,
5: C int
6: )
7:
8: insert into @t values ('001' ,'2010/1/1 ' ,500)
9: insert into @t values ('001' ,'2010/1/2 ' ,600)
10: insert into @t values ('003' ,'2010/1/11' ,700)
11: insert into @t values ('004' ,'2010/1/12' ,300)
12: insert into @t values ('003' ,'2010/1/15' ,400)
13: insert into @t values ('004' ,'2010/1/16' ,600)
14: insert into @t values ('002' ,'2010/1/10' ,300)
15:
16:
17: select t1.*
18: from @t t1
19: inner join
20: (
21: select A,MAX(B) AS B
22: from @t
23: group by A
24: ) t2
25: on t1.A = t2.A and t1.B = t2.B
26:
【執行結果】
【參考資料】