【发布时间】:2018-07-27 11:43:33
【问题描述】:
我有一个 GROUP BY 语句,它根据周对我的数据进行排序。这里的问题是我的数据整周都没有被计算在内(星期日不计算在内)
这是一个例子:
CREATE TABLE [dbo].[Products](
[ProductNR] [varchar](14) NULL,
[Location] [int] NULL,
[Date] [datetime] NULL);
INSERT INTO Products (ProductNR, Location, Date)
VALUES
('12345678911' ,1, '2018-07-16 00:00:00.000'), -- Monday
('12345678912' ,1, '2018-07-16 00:00:00.000'), -- Monday
('12345678913' ,1, '2018-07-16 00:00:00.000'), -- Monday
('12345678914' ,1, '2018-07-16 00:00:00.000'), -- Monday
('12345678915' ,2, '2018-07-16 00:00:00.000'), -- Monday
('12345678916' ,3, '2018-07-22 00:00:00.000'); -- This is a sunday
这是我的 Sql 查询,它在 2 周内检索上述数据拆分,而它应该是一周的计数:
SELECT count(Distinct ProductNR) AS [Count]
FROM Products
WHERE
YEAR (CREATED) = '2018'
Group by datepart(wk, created), year(created)
结果:
|Count|
| 5 |
| 1 |
预期结果:
|Count|
| 6 |
【问题讨论】:
-
您为什么希望 22 日与 16 日而不是 23 日在同一周计算?
标签: sql sql-server date group-by