gpt4 book ai didi

SQL - 从下一个最低 ID 获取值

转载 作者:行者123 更新时间:2023-12-04 21:53:30 25 4
gpt4 key购买 nike

我在 SQL Server 2014 Management Studio 中工作。

不太确定如何解释这一点,但我最好用一个例子来解释。

所以我想出了如何获得下一个最低 ID,这非常简单。但是一旦我得到该行,我需要从中获取值并将其应用于下一个最高值。

如果我有 4 行

ID      value
-------------
10 50
30 200
20 75
25 100

我想获取每一行的值并应用于具有下一个最高 ID 的行。所以它应该看起来像这样。

ID      value
-------------
10 null or 0
30 100
20 50
25 75

由于 10 ID 之前没有行,因此该行的值应该为 null 或 0,这无关紧要。而其他人应该遵循从具有下一个最小 ID 的行中获取值的模式。

最佳答案

您正在寻找 LAG() :

Select  Id, Lag(Value) Over (Order By Id) As Value
From YourTable;

工作演示:

Declare @YourTable Table
(
Id Int,
Value Int
);

Insert @YourTable
Values (10, 50), (30, 200), (20, 75), (25, 100);

Select Id, Lag(Value) Over (Order By Id) As Value
From @YourTable;

Results

Id  Value
10 NULL
20 50
25 75
30 100

关于SQL - 从下一个最低 ID 获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45870532/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com