gpt4 book ai didi

sql-server-2008 - sql查询使用id和给定日期的最后7天按数据分组

转载 作者:行者123 更新时间:2023-12-04 05:32:41 26 4
gpt4 key购买 nike

我有一张表,其中有如下列:

ItemId   Date        CountUser       CountUserPast7Days
1 20120101 20 null
1 20120102 15 null
1 20120208 12 null
2 20120209 65 null
2 20120611 32 null
2 20120615 20 null
3 20120901 45 null

我想编写一个查询来更新 CountUserPast7Days 基于 - 按两个参数的数据分组 - ItmeId 和 Date(past 7 days) 并对列 CountUser 求和。所以数据应该看起来像 -
ItemId   Date        CountUser    CountUserPast7Days
1 20120101 20 20
1 20120102 15 35
1 20120208 12 27
2 20120209 65 65
2 20120611 32 32
2 20120615 20 52
3 20120901 45 45

最佳答案

您的示例输出有问题,因为 2012/01/02 和 2012/02/08 之间有一个多月的时间,但我完全理解您的观点。您正在寻找的是自联接:

SELECT S1.Item, S1.Date, SUM(S2.Count) As CountPast7 FROM SlidingHitCount S1
INNER JOIN SlidingHitCount S2 on S1.Item = S2.Item
WHERE S2.Date BETWEEN DATEADD(dd, -7, S1.Date) AND S1.Date
GROUP BY S1.Item, S1.Date

显然,我称您的表为“SlidingHitCount”。

关于sql-server-2008 - sql查询使用id和给定日期的最后7天按数据分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12381402/

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