繁体   English   中英

本月至今的总和SQL

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM