gpt4 book ai didi

sql - 每天的数据差异

转载 作者:行者123 更新时间:2023-12-02 08:49:14 25 4
gpt4 key购买 nike

我有一个名为 Addim 的表,数据如下所示:

TName           Idate        Number
Integrated 3/21/2012 26984013
Integrated 3/20/2012 26959226
Integrated 3/19/2012 26933190

我希望输出为:

Idate        Diff
3/21/2012 24787
3/20/2012 26036

我做了这样的事情:

Select Count(*),Idate
from dbo.Addim
group by Idate

但是我得到这样的输出:

Idate        Diff
03/21/2012 1
03/20/2012 1

基本上它所做的就是与前一天有所不同例如: 对于 3/21/2012,差异为 26984013(3/21/2012)-26959226(3/20/2012) = 24787对于
3/20/2012 是 26959226(3/20/2012)-26933190(3/19/2012) = 26036

最佳答案

诀窍是将前一天的表连接回自身,如下所示:

DECLARE @Addim table (TName varchar(10), Idate datetime,Number int)
INSERT INTO @Addim VALUES ('Integrated','3/21/2012',26984013)
INSERT INTO @Addim VALUES ('Integrated','3/20/2012',26959226)
INSERT INTO @Addim VALUES ('Integrated','3/19/2012',26933190)


SELECT
a.TName,a.Idate, a.Number-b.Number
FROM @Addim a
INNER JOIN @Addim b ON a.TName=b.TName AND a.Idate=b.Idate+1

输出:

TName      Idate                   
---------- ----------------------- -----------
Integrated 2012-03-21 00:00:00.000 24787
Integrated 2012-03-20 00:00:00.000 26036

(2 row(s) affected)

我不确定 TName 的重要性,所以我也加入了该专栏,假设您也有多个不同的值。如果它不是这样使用的,您可以轻松地将其从连接中删除。

关于sql - 每天的数据差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9812259/

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