Mysql查询SUM字段字符串和分组依据

时间:2013-01-04 08:17:14

标签: php mysql

我的名字是 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
    )

感谢。

1 个答案:

答案 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它是否符合您的需求。