Visualizzazione dei risultati da 1 a 7 su 7

Discussione: group by con SUM OF

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    54

    group by con SUM OF

    Ho una tabella così composta

    NOME - N.DOWNLOAD
    aaaa - 10
    bbbb - 3
    aaaa - 12

    DEsideravo fare una query in cui venisse raggruppata per nome e automaticamente dommato il numero dei donwload; ordinata per n.download decrescente!
    Il risultato dovrebbe così essere:

    NOME - N.DOWNLOAD
    aaaa - 22
    bbbb 3

    $res = mysql_query("SELECT nome, sum(n_down) as tot FROM TABELLA where nome <> "" group by nome order by tot desc");

    Ho provato così ma non funziona!

  2. #2
    Utente di HTML.it L'avatar di Emyl
    Registrato dal
    Jul 2004
    Messaggi
    250
    Il nome del campo che non ha funzioni di aggregazione e quello della clausola GROUP BY devono coincidere. E' un errore della query o hai due campi "nome" e "nomefile"?
    "Ci sono 10 tipi di persone, quelli che capiscono i numeri binari...
    e quelli che non li capiscono."

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    54
    scusa avevo sbagliato a scrivere.. ho coreretto la query, non è che mi da errore, praticamente non mi fa la somma... mi scrive:

    aaaa - 2
    bbbb - 1

    praticamente mi fa il totale dei record senza sommarne il contenuto!

  4. #4
    Utente di HTML.it L'avatar di Emyl
    Registrato dal
    Jul 2004
    Messaggi
    250
    Questo sempra più il comportamento della funzione COUNT piuttosto che SUM...

    ...una banalità: il campo che sommi è numerico?
    "Ci sono 10 tipi di persone, quelli che capiscono i numeri binari...
    e quelli che non li capiscono."

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    54
    Si, il campo "n_down" è di tipo INT

  6. #6
    [supersaibal]Originariamente inviato da demedici
    Si, il campo "n_down" è di tipo INT [/supersaibal]
    Non e' che hai usato i doppi apici nel where come postato sopra ???
    codice:
    $res = mysql_query("SELECT nome, sum(n_down) as tot 
                        FROM TABELLA 
                        where nome != '' 
                        group by nome 
                        order by tot desc");
    deve funzionare .... non c'e' santo che tenga...


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    54
    funziona grazie mille.

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.