我的名字是 laporan , 当前查询是
“SELECT * FROM laporan”
然后如果我print_r我得到这样的结果数据:
[0] => Array ( [tanggal_laporan] => 2012-11-04 [total_kas] => Rp 21.000,- ) [1] => Array ( [tanggal_laporan] => 2012-11-04 [total_kas] => Rp 50.500,- ) [2] => Array ( [tanggal_laporan] => 2012-11-04 [total_kas] => Rp 56.000,- ) [3] => Array ( [tanggal_laporan] => 2012-11-05 [total_kas] => Rp 89.000,- ) [4] => Array ( [tanggal_laporan] => 2012-11-05 [total_kas] => Rp 73.000,- )
我想要SUM字段 total_kas ,这个字段是varchar / string,我的问题是有一种方法/可以SUM字段varchar / string。然后这个查询group_by tanggal_laporan ,所以我想得到如下数据:
[0] => Array ( [tanggal_laporan] => 2012-11-04 [total_kas] => 127500 ) [1] => Array ( [tanggal_laporan] => 2012-11-05 [total_kas] => 162000 )
感谢。
答案 0 :(得分:1)
这应该有用(假设total_kas
的格式总是'Rp NUMBER, - '):
SELECT tanggal_laporan, SUM(CAST(
SUBSTRING_INDEX(SUBSTRING_INDEX(REPLACE(total_kas, '.', ''), ' ', -1), ',', 1)
AS UNSIGNED INTEGER)) AS num
FROM laporan
GROUP BY tanggal_laporan
我已经做了一些更改来处理整数。这是一个SQLFiddle示例。
删除UNSIGNED
它是否符合您的需求。