您现在的位置是:网站首页> 编程资料编程资料
SqlServer2012中First_Value函数简单分析_MsSql_
2023-05-26
534人已围观
简介 SqlServer2012中First_Value函数简单分析_MsSql_
First_Value返回结果集中某列第一条数据的值,跟TOP 1效果一样,比较简单的一个函数
先贴测试用代码
DECLARE @TestData TABLE( ID INT IDENTITY(1,1), Department VARCHAR(20), LastName VARCHAR(20), Rate FLOAT ) INSERT INTO @TestData(Department,LastName,Rate) SELECT 'Document Control','Arifin',17.7885 UNION ALL SELECT 'Document Control','Norred',16.8269 UNION ALL SELECT 'Document Control','Kharatishvili',16.8269 UNION ALL SELECT 'Information Services','Chai',10.25 UNION ALL SELECT 'Information Services','Berge',10.25 UNION ALL SELECT 'Information Services','Trenary',50.4808 UNION ALL SELECT 'Information Services','Conroy',39.6635 UNION ALL SELECT 'Information Services','Ajenstat',38.4615 UNION ALL SELECT 'Information Services','Wilson',38.4615 UNION ALL SELECT 'Information Services','Connelly',32.4519 UNION ALL SELECT 'Information Services','Meyyappan',32.4519 SELECT * FROM @TestData

下边使用FIRST_VALUE函数,创建一列新列,返回结果集中第一行的LastName值,这个所谓的第一行受OVER里的ORDER BY影响,看图和代码:
以ID正序取

以ID倒序取

如果SQL脚本中使用了PARTITION分区函数,则FIRST_VALUE返回每个分区内的首条数据值,看演示
这里以Department分区,则整个数据集被分成了两部分:Information Services和Document Control两块,这时FIRST_VALUE分别返回两块分区内的首条数据值,同样的受ORDER BY关键字的影响,

再看一个受ORDER BY 影响的例子

与FIRST_VALUE函数同时出现的还有一个,SECOND_VALUE?NO,没有这个函数啊,但是有一LAST_VALUE,怎么函数怎么使用,不打算再单独起一篇文章了,LAST_VALUE嗯
您可能感兴趣的文章:
相关内容
- sql server 2000数据库备份还原的图文教程_MsSql_
- 教你如何看懂SQL Server查询计划_MsSql_
- SQL命令优化需要记住的9点事项_MsSql_
- SqlServer提示“列前缀tempdb.无效: 未指定表名”问题解决方案_MsSql_
- 浅谈tempdb在SqlServer系统中的重要作用_MsSql_
- SqlServer数据库提示 “tempdb” 的日志已满 问题解决方案_MsSql_
- SqlServer中tempdb的日志机制原理解析及示例分享_MsSql_
- SQLServer用存储过程实现插入更新数据示例_MsSql_
- sql server动态存储过程按日期保存数据示例_MsSql_
- 使用 TOP 子句限制UPDATE 语句更新的数据_MsSql_
