1

我将不胜感激这方面的一些帮助。我有这张桌子:

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

...我想总结每个客户的charged_money,并从最后一个充电日期到第一个充电日期以 5 天为一组。

所以我选择最后一个日期并将所有 recarged_money 加起来,直到 5 天前,还有更多 5 .. 等等。我怎样才能做到这一点?

Ty 进阶,J

4

1 回答 1

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
于 2012-04-10T18:49:55.883 回答