SQL SERVER中FIRST_VALUE和LAST_VALUE

SQL SERVER中FIRST_VALUE和LAST_VALUE


FIRST_VALUE和LAST_VALUE


看下组SQL语句:

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




你可能感兴趣的:(SQL,Server)