gpt4 book ai didi

SQL 日期之间的计算

转载 作者:行者123 更新时间:2023-12-03 03:18:16 29 4
gpt4 key购买 nike

我有以下两列。

    Date     |  Market Value
------------------------------
2016-09-08 | 100
2016-09-07 | 130
2016-09-06 | 140
2016-09-05 | 180

我想添加一列来计算两个日期之间的市场值(value)差异。

    Date     |  Market Value   |  Delta 
------------------------------------------
2016-09-08 | 100 | -30
2016-09-07 | 130 | -10
2016-09-06 | 140 | -40
2016-09-05 | 180 |

.

100 (2016-09-08) minus 130 (2016-09-07) = -30

如何编写该函数?

最佳答案

在 SQL Server 2012+ 中,最有效、最简单的方法是使用内置的 LEAD功能。

SELECT
[Date]
,[Market Value]
,LEAD([Market Value]) OVER (ORDER BY [Date] DESC) - [Market Value] AS Delta
FROM YourTable
;

LEAD 返回其 ORDER BY 子句指定的下一行的值。

所有其他自连接表的方法效率较低。

关于SQL 日期之间的计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39391939/

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