SQLSERVER中FIRST_VALUE和LAST_VALUE
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,见蓝色和紫色字体。