SQL Server总和5天

时间:2012-04-09 16:00:35

标签: sql-server-2008 sum

我希望得到一些帮助。我有这张桌子:

RECHARGES
___________
DATE_TIME               CLIENT          RECHARGED_MONEY
2011-01-01 12:25:25.000 2,051307E+09    50000
2011-01-01 12:26:27.000 2,140614E+09    100000
2011-01-01 12:27:03.000 1,074146E+09    50000

... 我想总结每个客户的recharged_money,并从最后一个到第一个收费日期组成5天。

所以我选择最后一个日期并将所有recarged_money总计到5天之前,以及更多5 ..依此类推。我怎么能做到这一点?

Ty先进, Ĵ

1 个答案:

答案 0 :(得分:0)

如果我没有遗漏任何内容,这样的事情会有所帮助:

WITH marked AS (
  SELECT
    DATE_TIME,
    RECHARGED_MONEY,
    dategroup = DATEDIFF(DAY, DATE_TIME, MAX(DATE_TIME) OVER ()) / 5
  FROM RECHARGES
)
SELECT
  DATE_TIME       = MAX(DATE_TIME),
  RECHARGED_MONEY = SUM(RECHARGED_MONEY)
FROM marked
GROUP BY
  dategroup
ORDER BY
  DATE_TIME