[英]Month to date sum SQL
我正在尝试在SQL Server中创建每日总计数字和迄今为止的月份。
DATE Name Figure MTD
2017-09-01 00:00:00.000 Luke 10 0.000000
2017-09-02 00:00:00.000 Luke 10 0.000000
2017-09-03 00:00:00.000 Luke 10 0.000000
2017-09-04 00:00:00.000 Luke 10 0.000000
基本上,我希望mtd显示40,即使我限制为只有一天,如下所示。
DATE Name Figure MTD
2017-09-01 00:00:00.000 Luke 10 40
我怎样才能做到这一点?
MS Sql Server中的示例代码如下:
CREATE TABLE #Order(ORDERDATE datetime,SalespersonName VARCHAR(30), DailyFigure int)
INSERT INTO #Order VALUES
('2017-09-01 00:00:00.000','Luke',10),
('2017-09-02 00:00:00.000','Luke',10),
('2017-09-03 00:00:00.000','Luke',10),
('2017-09-04 00:00:00.000','Luke',10);
SELECT * FROM #Order
SELECT * FROM
(SELECT ORDERDATE, SalespersonName,DailyFigure, SUM(DailyFigure) OVER(PARTITION BY SalesPersonName, MONTH(OrderDate)) AS MTD
FROM #Order) as r
WHERE ORDERDATE = '2017-09-01 00:00:00.000'
SELECT MIN(ORDERDATE),
SalespersonName,
AVG(DailyFigure) DailyFigure,
SUM(DailyFigure) MTD
FROM Order
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.