Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    mysql creare select con somma progressiva

    Buon giorno a tutti, vi cheido una mano per realizzare in mysql una "select" che mi permetta di calcolare la somma progressiva di un dato valore.

    In pratica in una select in mysql ho scritto $sql="SELECT id, data_contabile, entrate, uscite, SUM(entrate-uscite) AS somma_parziale FROM movimenti_contabili GROUP By id;

    nella voce "somma_parziale" viene eseguita la differenza tre le entrate e le uscite ma non la somma progressiva, ovvero alla differenza fra entrate e uscite non viene sommato il valore della differenza della riga precendente.

    Mi date una mano a realizzare quanto voglio?

    Grazie

  2. #2
    Non puoi farlo direttamente nel codice PHP in fase di estrazione?

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    codice:
    set @cum:=0;
    select id, sum(entrate-uscite) as differenza, (@cum:=@cum + (entrate - uscite)) as cumulata
    from movimenti_contabili
    group by id

  4. #4
    Nicola potresti essere più chiaro (non sono molto pratico di mysql)
    grazie.

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Premesso che il consiglio di Filippo è sicuramente più indicato rispetto a una soluzione di solo sql, il codice che ti ho scritto è costituito in realtà da due query. Ciò significa che se selezioni tutto il mio codice e lo esegui da phpmyadmin o dall'interfaccia grafica che utilizzi funzionerà.
    Per utilizzare il codice all'interno di php invece dovrai eseguire due query distinte da richiamare con mysql_query(), una per il settaggio della variabile cum e una per la query vera e propria.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.