我希望得到一些帮助。我有这张桌子:
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先进, Ĵ
答案 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