mysql sum 字符串_MySQL替换字符串SUM然后总计

总列在原始列值上进行求和,在选择中定义的别名不会在同一个选择中使用。

您可以在进行总列计算时重复替换语句

SUM( REPLACE(REPLACE(REPLACE(es_reserve,'$',''),',',''),'-','')

+ REPLACE(REPLACE(REPLACE(structure_reserve,'$',''),',',''),'-',''))

Total,

而不是

SUM(es_reserve+structure_reserve) as total

查询变为,按照评论中的要求排序。

SELECT insurance_carrier as ID, SUM(REPLACE(REPLACE(REPLACE(es_reserve,'$',''),',',''),'-','')) AS es_reserve, SUM(REPLACE(REPLACE(REPLACE(structure_reserve,'$',''),',',''),'-',''))AS structure_reserve, SUM( REPLACE(REPLACE(REPLACE(es_reserve,'$',''),',',''),'-','') + REPLACE(REPLACE(REPLACE(structure_reserve,'$',''),',',''),'-','')) as Total FROM job_tbl WHERE job_status NOT IN(2,4,6,7,9) AND insurance_carrier !=0 AND FROM_UNIXTIME(date_of_loss,'%m') = MONTH(NOW()) AND FROM_UNIXTIME(date_of_loss,'%Y') = YEAR(NOW()) GROUP BY insurance_carrier

order by SUM( REPLACE(REPLACE(REPLACE(es_reserve,'$',''),',',''),'-','') + REPLACE(REPLACE(REPLACE(structure_reserve,'$',''),',',''),'-','')) desc

OR

将它用作子查询

SELECT T.*, SUM(es_reserve+structure_reserve) AS total

FROM

(

SELECT

insurance_carrier as ID, SUM(REPLACE(REPLACE(REPLACE(es_reserve,'$',''),',',''),'-','')) AS es_reserve,

SUM(REPLACE(REPLACE(REPLACE(structure_reserve,'$',''),',',''),'-',''))AS structure_reserve

FROM job_tbl

WHERE

job_status NOT IN(2,4,6,7,9) AND

insurance_carrier !=0 AND

FROM_UNIXTIME(date_of_loss,'%m') = MONTH(NOW()) AND

FROM_UNIXTIME(date_of_loss,'%Y') = YEAR(NOW())

GROUP BY insurance_carrier

) T

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值