SQL Server ->> FIRST_VALUE和LAST_VALUE函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server ->> FIRST_VALUE和LAST_VALUE函数相关的知识,希望对你有一定的参考价值。
两个都是SQL SERVER 2012引入的函数。用于返回在以分组和排序后取得最后一行的某个字段的值。很简单两个函数。ORDER BY字句是必须的,PARITION BY则是可选。
似乎没什么好说的。结果在测试LAST_VALUE函数的时候有个问题。
下面是测试脚本
;with t as (SELECT TOP 100 ROW_NUMBER() OVER(ORDER BY column_id) as num FROM sys.columns) select num, num/10 as grp_factor, first_value(num) over(partition by num/10 order by num) as first_value, last_value(num) over(partition by num/10 order by num) as last_value from t
按照我的预测,0-9的FIRST_VALUE会返回1,而LAST_VALUE会返回9。然而情况却是FIRST_VALUE确实是返回1了。可是,LAST_VALUE却是返回了和本身NUM字段相同的值。没有弄明白怎么回事。似乎语句也没有问题。
以上是关于SQL Server ->> FIRST_VALUE和LAST_VALUE函数的主要内容,如果未能解决你的问题,请参考以下文章