SQL常见函数整理 —— LAG() 向上偏移

1. 用法
窗口函数,用于访问窗口中当前行之前的行的数据。该函数可以根据需要计算当前行之前的值,使我们能够轻松地比较不同行之间的差异和变化。

2. 基本语法

LAG(column, offset, default_value) OVER (ORDER BY column)
  • column:代表在返回结果集中要检索一行的列
  • offset:可选的,表示返回结果集中所检索行向前的行数
  • default_value:可选的,用于指定未找到所检索行时要返回的默认值
  • ORDER BY子句:指示LAG() 函数应按照哪个列顺序来排序所使用的窗口

3. 应用示例
有一张销售数据表 Sales, 记录每年公司的销售数据,如果想得到每年和前一年的销售数据的对比差异和成长率,如何实现?

--建表
if object_id('Sales','u') is not null drop table Sales
go
create table Sales(Year       varchar(10)
, SalesValue int
)
go
insert into Sales
values( '2018',120)
,( '2019',300)
,( '2020' ,240)
,( '2021' ,180)
,( '2022' ,290)
,( '2023' ,400 )
go
--查询
select *
,lag(SalesValue , 1 ) over(order by Year ) as SalesValue_LastYear
,SalesValue - lag(SalesValue , 1 ) over(order by Year ) as DIff
,SalesValue * 1.0 / lag(SalesValue , 1 ) over(order by Year )  -1 as Growth
from Sales

查询结果如下图所示:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/154534.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【香橙派】实战记录1——简介及烧录 Linux 镜像

文章目录 一、简介1、参数2、结构3、其他配件4、下载资料 二、基于 Windows PC 将 Linux 镜像烧写到 TF 卡的方法1、使用 balenaEtcher 烧录 Linux 镜像的方法2、效果 一、简介 Orange Pi Zero 3 香橙派是一款开源的单板卡片电脑, 新一代的arm64开发板,…

百度搜索万亿规模特征计算系统实践

作者 | Jay 导读 本文主要介绍百度搜索在全网万亿级规模内容做内容理解的工程实践,涉及机器学习工程化、资源调度、存储优化等多个Topic。 全文6648字,预计阅读时间17分钟。 01 业务背景 百度收录了互联网海量内容,要索引这些内容&#xff0…

如果文件已经存在与git本地库中,配置gitignore能否将其从git库中删除

想把项目的前后台代码放到同一个git仓库管理,由于未设置.gitignore,就使用vscode做stage操作(相当于git add . 命令 其中【.】点表示全部文件),观察将要入库的文件发现,node_modules、target、.idea、log等…

无服务器开发实例|微服务向无服务器架构演进的探索

在当今的技术环境中,许多组织已经从构建单一的应用程序转变为采用微服务架构。微服务架构是将服务分解成多个较小的应用程序,这些应用程序可以独立开发、设计和运行。这些被拆分的小的应用程序相互协作和通信,为用户提供全面的服务。在设计和…

C#的类型转换

目录 一、简介二、基本类型转换1.整数类型转换1.隐式转换2.显式转换 2.浮点类型转换1.隐式转换2.显式转换 3.字符类型转换1.字符到整数的转换2.整数到字符的转换 4.布尔类型转换1.布尔到整数的转换2.整数到布尔的转换 三、隐式转换和显式转换四、装箱和拆箱五、自定义类型转换六…

Java核心知识点整理大全7-笔记

目录 4.1.9. JAVA 锁 4.1.9.1. 乐观锁 4.1.9.2. 悲观锁 4.1.9.3. 自旋锁 4.1.9.4. Synchronized 同步锁 Synchronized 作用范围 Synchronized 核心组件 Synchronized 实现 4.1.9.5. ReentrantLock Lock 接口的主要方法 非公平锁 公平锁 ReentrantLock 与 synchronized …

腾讯云COS+picgo+typora 图床搭建与自动上传

1、腾讯云 COS 腾讯云活动 COS新用户专享 COS 操作步骤 1、点击 创建桶,完善信息 点击下一步,剩下的配置可自己配置 2、picgo 官网地址 2.3.1版本下载地址 现在稳定版本是2.3.1 相关连接 腾讯云密钥设置地址picgo官网地址2.3.1版本下载地址

解决k8s node节点报错: Failed to watch *v1.Secret: unknown

现象: 这个现象是发生在k8s集群证书过期,重新续签证书以后。 记得master节点的/etc/kubernetes/kubelet.conf文件已经复制到node节点了。 但是为什么还是报这个错,然后运行证书检查命令看一下: 看样子是差/etc/kubernetes/pki/…

深入 Django 的 URL 分发器

概要 在 Django 的 MVC 架构中,URL 分发器扮演着至关重要的角色,它负责将用户的请求路由到相应的视图函数或类。这一机制不仅保证了 Django 应用的高度可扩展性,还为开发者提供了灵活的 URL 设计能力。本文将详细介绍 Django 中的 URL 分发器…

麒麟信安与MatrixOne完成兼容互认

近日,超融合异构云原生数据库MatrixOne企业版软件V1.0完成了与欧拉开源操作系统(openEuler简称“欧拉”)、麒麟信安操作系统系列产品和虚拟化平台的相互兼容认证,通过了欧拉兼容性测评,获得了《openEuler技术测评证书》…

环保回收信息展示预约小程序的效果如何

人们每天在线上的时间非常多,他们会通过线上寻找信息,而环保回收企业也在通过线上寻找客户,但受限于平台限制,无论引流获客还是营销互动、或是数据分析及全面管理方面都面对难题,其中微信/百度/快手/抖音/支付宝/快手等…

kolla 安装多节点openstack kolla部署openstack

Kolla 概述: Kolla是OpenStack下用于自动化部署的一个项目,它基于docker和ansible来实现,其中docker主要负责镜像制作和容器管理,ansible主要负责环境的部署和管理。Kolla实际上分为两部分:Kolla部分提供了生产环境级…

系列十三、分支合并框架

一、概述 Fork:把一个复杂任务进行分拆,大事化小,Join:把分拆任务的结果进行合并 二、相关类 2.1、ForkJoinPool 分支合并池,类比线程池。 2.2、ForkJoinTask ForkJoinTask,类比 FutureTask。 2.3、Recur…

leetcode——设计循环队列

设计循环队列 这个题目在这里小编只分享一个解题思路,因为还有一个思路小编还在尝试,一直过不了,还在这里不断尝试,等我试出来的时候我在分享给大家,首先我们在这里给出的是数组的形式,后面在分享单链表的思…

ProTable高级表格获取表单数据

隐藏高级表格中的收起按钮 手动控制高级表格中的搜索按钮 获取高级表格中的表单数据 Forminstance 引入 然后在代码中定义 const refForm useRef(); 使用 refForm.current.getFileDsValue();

单体进化微服务:拆分、注册、调用、网关、过滤、治理、分布式事务

这里写目录标题 基本介绍生产-消费-网关父依赖生产者服务消费者服务网关服务common服务 感想 基本介绍 Spring Cloud 是一个用于构建分布式系统和微服务架构的开发工具包。它提供了一系列的功能和组件,用于解决微服务架构中的常见问题,如服务注册与发现…

Git精讲

Git基本操作 创建Git本地仓库 git initgit clone 配置Git git config [--global] user.name "Your Name" git config [--global] user.email "emailexample.com"–global是一个可选项。如果使用了该选项,表示这台机器上所有的Git仓库都会使…

快时尚品牌Halara登上TikTok美国小店榜Top 5,运动健身风靡TikTok

TikTok Shop美国电商数据周榜(11/06-12)已出,具体信息如下: 上周总GMV达到5850万美元,日均出单840万美元;单日出单最高达2110万美元,是当前美国单日最高销售额; 截至11月12日&…

SpringBoot :ch01 项目结构

前言 在本系列博客中,我们将深入探讨 Spring Boot 项目结构的各个方面,并探讨如何利用这些结构来构建健壮、可扩展的应用程序。通过深入了解 Spring Boot 项目结构,我们可以更好地利用 Spring Boot 的优势,提高开发效率&#xff…

多目标应用:基于非支配排序的蜣螂优化算法NSDBO求解微电网多目标优化调度(MATLAB)

一、微网系统运行优化模型 微电网优化模型介绍: 微电网多目标优化调度模型简介_IT猿手的博客-CSDN博客 二、基于非支配排序的蜣螂优化算法NSDBO 基于非支配排序的蜣螂优化算法NSDBO简介: https://blog.csdn.net/weixin46204734/article/details/128…