SQL Server:值除以最后四个值的滚动总和?

时间:2017-04-06 11:27:06

标签: sql sql-server

如何将值除以SQL Server 2014中的最后四个值?

示例。如何从ValueDIVbyLastFourValues字段中获取Value字段?

Month|Value| ValueDIVbyLastFourValues |
---------------------------------------
  1  |  1  |            1             |
  2  |  1  |            1/2           |
  3  |  2  |            2/4           |
  4  |  2  |            2/6           |
  5  |  1  |            1/6           |
  6  |  7  |            7/12          |
  7  |  4  |            4/14          |

不良审判

SELECT 
    CUSTOMER
    ,MONTH
    ,NET_VALUE_M / SUM(NET_VALUE_M) AS 'NET_VALUE_M_PROP_BY_YEAR'
FROM
    MY DATA
GROUP BY  LEFT(MONTH,4)
        ,CUSTOMER
        ,MONTH
        ,NET_VALUE_M
ORDER BY NET_VALUE_M_PROP_BY_YEAR

1 个答案:

答案 0 :(得分:1)

如果我理解正确:

SELECT TRY_PARSE('Mar/28' AS DATETIME)

这使用窗口函数对当前行和前四行中的值求和。