SQLSERVER中FIRST_VALUE和LAST_VALUE

网络整理 - 08-18

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