i have sql data and query
http://sqlfiddle.com/#!9/749bec/1
the result of current query is not what i need
SELECT
satker.kode_satker,GROUP_CONCAT(DISTINCT(data.map) ,'-',value SEPARATOR '\n') as newvalue
FROM satker
left join data on data.kode_satker=satker.kode_satker
GROUP BY data.kode_satker
because it show
kode_satker newvalue
100 A-100 A-200 B-400 B-100
200 C-100 A-100 A-100
I need the new query show
kode_satker newvalue
100 A-300 B-500
200 A-200 C-100
Any idea??
Here is the solution with correct order of newvalue
SELECT kode_satker,group_concat(map,'-',valuesum order by map) as new_value From ( Select satker.kode_satker, data.map, sum(data.value) as valuesum FROM satker left join data on data.kode_satker=satker.kode_satker group by satker.kode_satker, data.map) t Group by kode_satker
Result: kode_satker new_value 100. A-300,B-500 200. A-200,C-200