SQL: come ottenere un conteggio ponderata utilizzando GROUP BY?
-
26-09-2019 - |
Domanda
Come posso fare una query del tipo:
select myvalue, count() as freq from mytable group by myvalue;
Ma dove valori somme freq
da una colonna weight
invece di contando ogni riga come 1?
Sto usando MySQL 5.1.
Soluzione
select myvalue, sum(weight) as freq from mytable group by myvalue;
Altri suggerimenti
Si desidera utilizzare la funzione di aggregazione Somma per gestire questa situazione.
SELECT MyValue, Sum(weight) AS Total
FROM mytable
GROUP BY myvalue;
dovrebbe fare il trucco!
select myvalue, SUM(weight) as freq from mytable group by myvalue;
utilizzo sum(weight) as freq
nella query di selezione
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow