各product_idの合計を確認したいだけの場合
SELECT product_id, SUM(trans_value)
FROM table
GROUP BY product_id
ORDER BY product_id
本当に正の値と負の値を別々に必要とする場合:
SELECT SUM(IF(trans_value<0;trans_value;0)) neg, SUM(IF(trans_value>0;trans_value;0)) pos
FROM table
負の値の合計をneg
に入れます 、pos
の正の値の合計 。 pos + neg
合計になります。