Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 在SQL中将每日数据聚合到每周级别:每周二到周一为一周_Sql Server 2008_Date_Aggregate - Fatal编程技术网

Sql server 2008 在SQL中将每日数据聚合到每周级别:每周二到周一为一周

Sql server 2008 在SQL中将每日数据聚合到每周级别:每周二到周一为一周,sql-server-2008,date,aggregate,Sql Server 2008,Date,Aggregate,我有一个每日级别的销售数据,我想在SQL server中将其聚合到每周级别 任何一周的开始时间应分别为周二和周一 请帮助您应该发布更多关于您尝试过的内容。也许给我们一些示例代码和您遇到的问题。尽管如此,请参见下文。在没有看到您的解决方案细节的情况下,有很多不同的方法可以实现这一点 SET DATEFIRST 2; DECLARE @SalesData TABLE (ID INT PRIMARY KEY IDENTITY(1,1), SalesDate DATETIME, Price

我有一个每日级别的销售数据,我想在SQL server中将其聚合到每周级别

任何一周的开始时间应分别为周二和周一


请帮助

您应该发布更多关于您尝试过的内容。也许给我们一些示例代码和您遇到的问题。尽管如此,请参见下文。在没有看到您的解决方案细节的情况下,有很多不同的方法可以实现这一点

SET DATEFIRST 2;

DECLARE @SalesData TABLE    (ID INT PRIMARY KEY IDENTITY(1,1), SalesDate DATETIME, Price MONEY)
INSERT INTO @SalesData (SalesDate,Price) VALUES
    ('1/1/2013',12.00),
    ('1/2/2013',14.00),
    ('1/3/2013',11.28),
    ('5/3/2013',11.64),
    ('5/3/2013',18.00)

;WITH
SalesInfo AS
(
    SELECT  sd.id,
          YEAR(sd.SalesDate) AS TheYear,
          DATEPART(week,sd.SalesDate) AS TheWeek
    FROM      @SalesData sd
)
SELECT  SI.TheYear,
       SI.TheWeek,
       SUM(SD.Price) AS TotalForWeek
FROM       @SalesData AS SD
       INNER JOIN SalesInfo AS SI ON (SD.ID = SI.ID)
GROUP BY      SI.TheYear,SI.TheWeek


SET DATEFIRST 7