SQL SERVER中FIRST_VALUE和LAST_VALUE
FIRST_VALUE和LAST_VALUE
看下組SQL語句:
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 WITH test as ( select '樂可樂可的部落格' as name,10 as score UNION ALL select '樂可樂可的部落格',15 UNION ALL select '樂可樂可的部落格',20 UNION ALL select '微軟認證',30 UNION ALL select '微軟認證',40 UNION ALL select '微軟認證',40 ) select name,score ,FIRST_VALUE(score)over(order by name) as fst ,LAST_VALUE(score)over(order by name) as Lst from test結果:
name score fst Lst
樂可樂可的部落格 15 15 10
樂可樂可的部落格 20 15 10
樂可樂可的部落格 10 15 10
微軟認證 40 15 30
微軟認證 40 15 30
微軟認證 30 15 30
FIRST_VALUE(score)over(order by name) as fst,取按name升序排列的第一行score,見紅色字體。
LAST_VALUE(score)over(order by name) as Lst,取按name升序排列的相同name最後一行score,見藍色和紫色字體。