为了账号安全,请及时绑定邮箱和手机立即绑定

mysql根据包含字符不同更新字符串

mysql根据包含字符不同更新字符串

繁花如伊 2018-08-17 19:35:10
假设一个字段,‘a’开头就替换成‘1’,‘b’开头就替换成‘2’,怎么写更新语句好一点尝试过regexp,但是这样就有很多条sql语句,就会很慢UPDATE trade SETtransportal='1'WHEREtransportal REGEXP '^(a)';有没有什么优化的办法啊
查看完整描述

2 回答

?
回首忆惘然

TA贡献1847条经验 获得超11个赞

如果只是count统计,不需要做update操作。

我感觉你的需求用case when表达式的计算值,再做计数统计就可以了,如:

select trans_type, count(*)from (    select case when left(transportal,1) = 'a' then 1 when left(transportal,1) = 'b' then 2 else 0 end as trans_type    from trade 
) tgroup by trans_type


查看完整回答
反对 回复 2018-08-18
?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

这些应该由程序控制逻辑,SQL不应该做这种事情

查看完整回答
反对 回复 2018-08-18
  • 2 回答
  • 0 关注
  • 813 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信