zoukankan      html  css  js  c++  java
  • 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字段相同的值。没有弄明白怎么回事。似乎语句也没有问题。

  • 相关阅读:
    java配置环境变量
    What Beautiful HTML Code Looks Like jessica
    Hive 快速搭建
    Apq本地工具集
    SQL:查询购买了所有指定商品的人
    NodeJs
    留存
    markdown
    微信公众号开发
    viper
  • 原文地址:https://www.cnblogs.com/jenrrychen/p/5170337.html
Copyright © 2011-2022 走看看