SQL SERVER中FIRST_VALUE和LAST_VALUE
FIRST_VALUE和LAST_VALUE
看下组SQL语句:
WITH testas( 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 Lstfrom 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,见蓝色和紫色字体。