2012-04-09 20 views
1

Ich würde eine Hilfe zu diesem Thema schätzen. Ich habe diese Tabelle:SQL Server Summe von 5 Tagen Zeiträume

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 

... ich die recharged_money jeden Kunden summieren möge und Gruppen von 5 Tagen ab dem letzten zum ersten Ladedatum zu machen.

Also wähle ich das letzte Datum und Summe aller recarged_money bis 5 Tage vor, und mehr 5 .. und so weiter. Wie kann ich das erreichen?

Ty in fortgeschrittenen, J

Antwort

0

So etwas sollte helfen, wenn ich nichts verpasst haben:

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 
Verwandte Themen