SELECT shohin_cd , SUM(CAST(REPLACE(sales, ',', '') AS INTEGER)) AS sales FROM table1 GROUP BY shohin_cd
salesという項目には、1,000,000という値がVARCHARで保存されていたとすると、
1)REPLACE関数でカンマをスペースに変換 : 1,000,000→1000000
2)CAST関数でVARCHARをINTEGERに変換
3)SUM関数で合計値を算出する
→1),2)を行わないでSUMすると以下のようなエラーが発生します。
Unexpected parameters (varchar) for function sum. Expected: sum(double) , sum(real) , sum(bigint) , sum(interval day to second) , sum(interval year to month) , sum(decimal(p,s))