buongiorno a tutti
ho una tabella con tre campi codice data valore
devo sommare i valori di una colonna per codici uguali e determinarne la posizione rispetto agli altri,
qualcuno potrebbe cortesemente darmi una dritta?
grazie.
buongiorno a tutti
ho una tabella con tre campi codice data valore
devo sommare i valori di una colonna per codici uguali e determinarne la posizione rispetto agli altri,
qualcuno potrebbe cortesemente darmi una dritta?
grazie.
CioèOriginariamente inviato da bargius
...e determinarne la posizione rispetto agli altri,![]()
"Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)
scusa satifal non avevo letto il tuo appunto,
cerco di spiegarmi meglio:
ho una serie di record di diversi codici io devo sommare il campo valore divisi per codici uguali e di questi determinare la posizione di un determinato codice in base alla somma dei valori.
A naso dovresti cavartela con SUM e GROUP BY.
Ma se magari posti un estratto dei dati e quello che ti aspetti, vediamo meglio.
codice data valore
AAA 2011 500
BBB 2012 300
CCC 2011 250
DDD 2011 700
AAA 2011 100
AAA 2011 200
DDD 2011 300
AAA 2012 500
BBB 2011 200
BBB 2011 700
con sum avremo AAA = 800, BBB = 900, CCC = 250, DDD = 1000
io vorrei ottenere per il codice AAA la posizione in base alle somme per l'anno 2011 rispetto agli altri codici
pos AAA = 3
GROUP BY può essere usata anche su più campi:
... GROUP BY codice,data
ok, a me interessa conoscere la posizione
... SUM(valore) as totvalore ... ORDER BY totvalore
fino a quel punto ci sono arrivato però non so come estrarre il numero della posizione per un determinato codice chiaramente prima avevo fatto la query in ordine desc
con mysql non puoi, devi farlo in php.
Fai un fetch dei risultati, un ciclo (for o foreach) e incrementa un contatore.