SQL: how to get a weighted count using GROUP BY?
-
26-09-2019 - |
Question
How can I make a query like:
select myvalue, count() as freq from mytable group by myvalue;
But where freq
sums values from a weight
column instead of counting each row as 1?
I'm using MySQL 5.1.
Solution
select myvalue, sum(weight) as freq from mytable group by myvalue;
OTHER TIPS
You want to use the Sum aggregate function to handle this.
SELECT MyValue, Sum(weight) AS Total
FROM mytable
GROUP BY myvalue;
Should do the trick!
select myvalue, SUM(weight) as freq from mytable group by myvalue;
use sum(weight) as freq
in your select query
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow