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

    MySQL e somma su raggruppamenti

    Salve a tutti, mi sono appena iscritto e sono alle prime armi con SQL, siate pazenti! :-)
    Ho un database con tre colonne, GRUPPO, USER e ITEMS.
    I primi due sono di tipo testo e il terzo è numerico

    Ogni USER fa parte di un solo GRUPPO
    Ci possono essere più record con lo stesso USER (e relativo GRUPPO) e un ITEMS diverso
    Esempio:

    codice:
    GRUPPO,USER,ITEMS
    Gialli,Marco,1
    Verdi,Sara,5
    Rossi,Piero,8
    Rossi,Mario,9
    Gialli,Marco,5
    Rossi,Piero,2
    Per avere una vista riassuntiva degli ITEMS sommati per utenti e raggruppando questi ultimi per gruppo ho scritto questo:

    codice:
    SELECT
    Gruppo,
    Utente,
    SUM(`Items`) AS `S(Items)`,
    GROUP BY Gruppo, Utente
    Un programmino che mi fa l'output mi stampa giustamente questo:
    Gialli: Marco,6
    Rossi: Piero,10
    Rossi: Mario,9
    Verdi: Sara,5

    Adesso però vorrei visualizzare un colonna in più, con il totale del gruppo.
    Quindi, nel caso del gruppo "Rossi" ci dovrebbe essere una colonna in più con il valore 19

    Come imposto la query?
    Grazie per le risposte che mi darete

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    codice:
    select t1.gruppo,t1.utente,sum(t1.items) as tot_utente,t2.tot_gruppo
    from tabella as t1 
    left join (
    select gruppo,sum(items) as tot_gruppo
    from tabella
    group by gruppo) as t2
    on t1.gruppo = t2.gruppo
    group by t1.gruppo,t1.utente

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.