SqlServer2012中First_Value函数简单分析

日期:2020-05-07编辑作者:数据库
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

先贴测试用代码

www.129028.com金沙,以ID倒序取

与FIRST_VALUE函数同时出现的还有一个,SECOND_VALUE?NO,没有这个函数啊,但是有一LAST_VALUE,怎么函数怎么使用,不打算再单独起一篇文章了,LAST_VALUE嗯

以ID正序取

这里以Department分区,则整个数据集被分成了两部分:Information Services和Document Control两块,这时FIRST_VALUE分别返回两块分区内的首条数据值,同样的受ORDER BY关键字的影响,

First_Value返回结果集中某列第一条数据的值,跟TOP 1效果一样,比较简单的一个函数

如果SQL脚本中使用了PARTITION分区函数,则FIRST_VALUE返回每个分区内的首条数据值,看演示

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

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

本文由www.129028.com金沙发布于数据库,转载请注明出处:SqlServer2012中First_Value函数简单分析

关键词:

Sql Server中的非聚集索引详细介

这篇我们来解开神秘面纱。 3:通过最后的槽位列表,可以得知173号索引页上存放着8条索引记录。 复制代码 代码如下...

详细>>

必须会的SQL语句(一) 创建数据库与删除数据库【www.129028.com金沙

1.创建数据库 drop命令用于删除数据库。 Create database 名称on primary{ name ='名称', filename ='c:xx名称.mdf', size = 10mb, --数据库...

详细>>

SqlServer提示“列前缀tempdb.无效: 未指定表名”问题解决方案www

在查询凭证、审核凭证时出现“列前缀tempdb.无效:未指定表名”的错误提示,怎么解决? 本文我们总结了几个在安装...

详细>>

【www.129028.com金沙】SQL Server中将查询结果转换为Json格式脚本分享

脚本源码: 复制代码 代码如下:SET ANSI_NULLS ONGOSETQUOTED_IDENTIFIER ONGOCREATEPROCEDURE[dbo].[SerializeJSON](@ParameterSQL ASVARCHAR(MAX)...

详细>>