select *,LAG(金额,1,0)OVER(ORDER BY  年月)  环比金额
from( SELECT Top 1000000 年, 季度, 年月 ,SUM(金额本位币) 金额
FROM (
SELECT * FROM [dbo].[T_output]
) cb_view GROUP BY 年, 季度, 年月
order by 年,季度, 年月 ) BB

如图:

当然还有更直观的写法

SELECT Top 1000000  年, 季度, 年月 ,SUM(金额本位币)  金额  ,LAG(SUM(金额本位币),1,0)OVER(ORDER BY  年月)  环比金额
FROM (
SELECT * FROM [dbo].[T_output]
) cb_view GROUP BY 年, 季度, 年月

其实会发现下面的写法和这里的写法获取的结果一样

SELECT Top 1000000  年, 季度, 年月 ,SUM(金额本位币)  金额  ,LAG(SUM(金额本位币),1,0)OVER(ORDER BY  年)  环比金额
FROM (
SELECT * FROM [dbo].[T_output]
) cb_view GROUP BY 年, 季度, 年月

一个是ORDER BY 年月 一个是ORDER BY 年,但是结果都是一样的。

参考:

https://blog.csdn.net/mango_love/article/details/84067911

SQL SERVER中LEAD和LAG函数

https://blog.csdn.net/leewhoee/article/details/20264653

LAG函数实现环比的更多相关文章

  1. oracle listagg函数、lag函数、lead函数 实例

    Oracle大师Thomas Kyte在他的经典著作中,反复强调过一个实现需求方案选取顺序: “如果你可以使用一句SQL解决的需求,就使用一句SQL:如果不可以,就考虑PL/SQL是否可以:如果PL/ ...

  2. lead 函数和 lag函数

    这两个函数的作用只能通过例子来解释,否则说不明白. 首先创建一个表 SQL> create table test (id number, name varchar2(8), val number ...

  3. Oracle分析函数/排名函数/位移函数/同比环比

    分析函数 作用:分析函数可以在数据中进行分组,然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计值.统计函数:MAX(字段名).MIN(字段名).AVG(字段名).SUM(字段名).CO ...

  4. oracle中lead和lag函数 (转载)

    解决上一户和下一户问题这两个函数,是偏移量函数,其用途是:可以查出同一字段下一个值或上一个值. lead(col_name,num,flag) col_name是列名:num是取向下第几个值:flag ...

  5. SQL LEAD()函数 LAG()函数

    lag ,lead 分别是向前,向后:lag 和lead 有三个参数,第一个参数是列名,第二个参数是偏移的offset,第三个参数是 超出记录窗口时的默认值) SQL> select id,na ...

  6. SAS笔记(3) LAG和DIFF函数

    在实际的应用中,我们会想查看当前观测的上一个观测值,在上一篇博客中我们使用了RETAIN语句来记录上一条观测,其实SAS还提供了一个很好用的函数LAG.当我们使用函数时,一定要明确该函数的返回值是什么 ...

  7. oracle函数中lead,lag,over,partition by 的使用

    lead,lag函数的分析 http://blog.csdn.net/mazongqiang/article/details/7621328 举例如下: SQL> select *  from ...

  8. 数据库sql 使用 lag 和OVER 函数和 like 使用 小技巧

    1. sample 1: Lag()就是取当前顺序的上一行记录.结合over就是分组统计数据的.Lag()函数,就是去上N行的字段的数据. SQL> select * from x; A---- ...

  9. Oracle-分析函数之取上下行数据lag()和lead()

    这两个函数是偏移量函数,可以查出一个字段的上一个值或者下一个值,配合over来使用. lead函数,这个函数是向上偏移. lag函数是向下偏移一位. 语法 [语法] lag(EXPR,<OFFS ...

随机推荐

  1. docker换源

    方案一 修改或新增 /etc/docker/daemon.json # vi /etc/docker/daemon.json { "registry-mirrors": [&quo ...

  2. 在多语句事务内不允许使用 CREATE DATABASE 语句。

    方法一:create database [ 项目名称] 方法二:update-database -verbose

  3. Linux查看公网IP

    curl cip.cc   查看公网IP curl  -s  icanhazip.com  查看公网IP, 只显示IP,没有供应商信息

  4. leetcode解题报告(1):Remove Duplicates from Sorted Array

    描述 Given a sorted array, remove the duplicates in place such that each element appear only once and ...

  5. CTS2019自闭记

    没想到吧,我竟然还有一篇游记. Day 0 上午开开心心地考完了中考英语听说考试,然后就出发去机场了. 第一次一个人坐飞机还有点小激动? 7点左右到的北京,到酒店就已经9点了,赶紧跟着hz学长学了一下 ...

  6. SpringMVC 指定404、500错误页面

    1.在web.xml中追加 <error-page> <error-code>404</error-code> <location>/404</l ...

  7. 2019.6.28 校内测试 T2 【音乐会】二重变革

    看到这个题之后,一个很暴力很直接的想法就是贴上题目中的代码然后交上去走人,但是很显然这是会TLE+MLE的,想想谁会这么傻把主要代码给你QwQ~: 其实这段代码是想告诉你一件事:用序列中的大数减去小数 ...

  8. python编写弹球游戏的实现代码

    #coding:utf- from tkinter import * import random import time class Ball: #创建一个球类 def __init__(self, ...

  9. Hdu 5344

    Hdu5344 题意: 给你一个数组,求所有的 $ a_i + a_j $ 的异或值. 解法: 因为 $ (a_i+a_j) \bigoplus (a_j + a_i) = 0$ . 所以答案就是 $ ...

  10. ubuntu 16.04 脚本开机自启动

    1.首先编写一个shell脚本文件,例如python_self_start.sh (nohup & 指定后台运行) #!/bin/bash nohup python3 /home/senset ...