• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

SqlServer2012中First_Value函数简单分析

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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嗯


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
sql server 2000数据库备份还原的图文教程发布时间:2022-02-08
下一篇:
SqlServer2012中LEAD函数简单分析发布时间:2022-02-08
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap