Somma progressiva,totalizzatore

di il
4 risposte

Somma progressiva,totalizzatore

Come fare ad ottenere la colonna Tot (totalizzatore)

utente        data         importo     Tot
UTENTE1 03-gen-22   421,20      421,20
UTENTE1 04-gen-22  1.087,30   1.508,50
UTENTE2 03-gen-22  2.095,45   2.095,45
UTENTE2 04-gen-22  2.639,07   4.734,52
UTENTE2 05-gen-22  2.281,38   7.015,90
ringrazio anticipatamente

4 Risposte

  • Re: Somma progressiva,totalizzatore

    Ciao Nico,

    puoi per favore formalizzare meglio la richiesta?

    da come la leggo, mi pare tu voglia un “running total”  su base {utente} su base {importo} ordinato per {data} e quindi cio' che vedo in tabella per {Tot} non dovrebbe essere presente in tabella…
    oppure non ho capito niente, e non sarebbe la prima volta :D (mia moglie me lo dice tutti i giorni)

    salutoni romagnoli
    – 
    Andrea

  • Re: Somma progressiva,totalizzatore

    Hai capito bene, scusa se nn sono stato ….

  • Re: Somma progressiva,totalizzatore

    Salve Nico,

    T-SQL fornisce gia' da tempo la possibilita' di utilizzo delle windowing features sulla funzione SUM, dove puoi operare il partizionamento per {utente} ordinando il risultato per {data} nel partizionamento, ed avere in questo senso l'aggregazione a te interessante, questo senza dover passare per esecuzioni di join come si doveva fare in passato…

    tipacamente, puoi valutare

    SELECT t.utente, t.data, t.importo
    		, SUM(t.Importo) OVER (PARTITION BY t.Utente ORDER BY t.Data) AS [Tot]
    	FROM dbo.t
    	ORDER BY t.utente, t.data;
    --<---------
    utente     data                    importo    Tot
    ---------- ----------------------- ---------- -----------
    Utente 1   2022-01-03 00:00:00.000 421.2000   421.2000
    Utente 1   2022-01-04 00:00:00.000 1087.3000  1508.5000
    Utente 2   2022-01-03 00:00:00.000 2095.4500  2095.4500
    Utente 2   2022-01-04 00:00:00.000 2639.0700  4734.5200
    Utente 2   2022-01-05 00:00:00.000 2281.3800  7015.9000
    

    salutoni romagnoli
    – 
    Andrea

  • Re: Somma progressiva,totalizzatore

    Grazie mille

Devi accedere o registrarti per scrivere nel forum
4 risposte