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字段相同的值。没有弄明白怎么回事。似乎语句也没有问题。

  • 相关阅读:
    django--orm---006
    django--orm---005
    django--orm---004
    django--orm---003
    jmeter连接数据库
    django--view---001
    django--orm---002
    django--model--orm001-- 增删改查
    java并发编程
    jvm
  • 原文地址:https://www.cnblogs.com/jenrrychen/p/5170337.html
Copyright © 2011-2022 走看看