周开始是周日但是总和(值)来自周一至周日

问题描述 投票:0回答:2

我有一个要求,即本周的开始是星期日。但是所有的价值观都应该从星期一到星期日而不是星期六到星期六

以下是我的来源

 SummedValue    WeekStart   CreatedDate
 1349           2/25/2018   2/25/2018
 982            2/25/2018   2/26/2018
 60             2/25/2018   2/27/2018
 196            2/25/2018   2/28/2018
 200            2/25/2018   3/1/2018
 30             2/25/2018   3/2/2018
 500            2/25/2018   3/3/2018
 500            3/4/2018    3/4/2018

我想总结如下的值

  SummedValue   WeekStart   CreatedDate
     982            2/25/2018   2/26/2018
     60             2/25/2018   2/27/2018
     196            2/25/2018   2/28/2018
     200            2/25/2018   3/1/2018
     30             2/25/2018   3/2/2018
     500            2/25/2018   3/3/2018
     500            2/25/2018   3/4/2018

基本上,在2/25/2018的那一周,总和值应该从2/26 / 2018-3 / 4/2018计算,应该是2468我试过各种组合

DATEADD(wk, DATEDIFF(wk,0, getdate()), 0),DATEADD(DAY, 1 - DATEPART(WEEKDAY, getdate()), CAST(getdate()AS date)) etc

我们可以在sql中执行此操作吗?

sql sql-server-2016
2个回答
0
投票

这会得到你想要的吗?

SELECT WeekStart, SUM(SummedValue) AS Sum
FROM table_name
WHERE WeekStart <> CreatedDate
GROUP BY WeekStart

0
投票

这样做:

SELECT 
    WeekStart, 
    SUM(CASE WHEN DATEDIFF(dd,WeekStart, CreatedDate) BETWEEN 1 and 7 
        THEN SummedValue 
        ELSE 0 END)
FROM 
    yourtable
GROUP BY 
    WeekStart
© www.soinside.com 2019 - 2024. All rights reserved.