当前位置:  数据库>sqlserver

SqlServer2012中First_Value函数简单分析

    来源: 互联网  发布时间:2014-10-14

    本文导语:  First_Value返回结果集中某列第一条数据的值,跟TOP 1效果一样,比较简单的一个函数 先贴测试用代码 DECLARE @TestData TABLE( ID INT IDENTITY(1,1), Department VARCHAR(20), LastName VARCHAR(20), Rate FLOAT ) INSERT INTO @TestData(Department,Last...

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嗯


    
 
 

您可能感兴趣的文章:

  • 浅谈SQLServer的ISNULL函数与Mysql的IFNULL函数用法详解
  • 一个函数解决SQLServer中bigint 转 int带符号时报错问题
  • SQLServer EVENTDATA()函数来获取DDL 触发器信息
  • sqlserver substring函数使用方法小结
  • sqlserver中的自定义函数的方法小结
  • SqlServer2012中LEAD函数简单分析
  • sqlserver replace函数 批量替换数据库中指定字段内指定字符串参考方法
  • SQLSERVER ISNULL 函数与判断值是否为空的sql语句
  • SQLServer CONVERT 函数测试结果
  • SQLServer中的切割字符串SplitString函数
  • sqlserver 快速生成汉字的首拼字母的函数(经典)
  • SQLserver中用convert函数转换日期格式的方法
  • Sqlserver 常用日期时间函数
  • sqlserver 根据汉字获取拼音的函数
  • sqlserver Case函数应用介绍
  • sqlserver 各种判断是否存在(表名、函数、存储过程等)
  • sqlserver CONVERT()函数用法小结
  • 存储过程解密(破解函数,过程,触发器,视图.仅限于SQLSERVER2000)
  • sqlserver 函数、存储过程、游标与事务模板
  • 谈谈sqlserver自定义函数与存储过程的区别
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • SQLServer中master数据库分析
  • SQL查询前10条记录(SqlServer/mysql/oracle)的语法分析
  • sqlserver中with(nolock)深入分析
  • Sqlserver中char,nchar,varchar与Nvarchar的区别分析
  • 利用脚本自动安装SQLServer的实现步骤分析
  • SQLServer 2005 实现数据库同步备份 过程-结果-分析
  • SQLSERVER 中datetime 和 smalldatetime类型分析说明
  • SQLSERVER收集语句运行的统计信息并进行分析
  • SQLServer中临时表与表变量的区别分析
  • SQLServer 连接失败错误故障的分析与排除
  • sqlserver 高性能分页实现分析
  • 连接sqlserver的url是jdbc:microsoft:sqlserver://192.168.0.100:1433,他连那一个数据库呢?
  • (100分)用Microsoft jdbc Driver for sqlserver2000(type4)访问sqlserver2k的问题,help!
  • 通过SQLSERVER重启SQLSERVER服务和计算机的方法
  • 怎样用文JDBC for sqlserver访问SQLSERVER 数据库请大侠给出一个完整的程序代码
  • (100分)jdbc连接sqlserver 200出错.[SQLServer 2000 Driver for JDBC]Error establishing socket.
  • 如何连接sqlserver2000数据库
  • 深入JDBC sqlserver连接写法的详解
  • how to 连接到sqlserver2000?
  • 请问如何直接sqlserver?
  • SQLServer JDBC Driver
  • 在sqlserver2000时中文问题。
  • 设置密码保护的SqlServer数据库备份文件与恢复文件的方法
  • 如何使用JSP 连接SQLSERVER数据库,请不吝赐教!(在线等,急救!)
  • 简单实现SQLServer转MYSQL的方法
  • 求助!SQLServer2000 JDBC Driver 不能加载?
  • Resin+Jsp+Sqlserver2000的问题!在线等候!
  • applet用jdbc链接SQLServer 2000的问题
  • 请问连接SQLServer 的驱动器是什么呢?
  • jdbc:microsoft:sqlserver://localhost:1433;DatabaseNameOPTIONAL=webmail???
  • 如何用SQLServer2k-JDBC连接数据库?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3