猿问

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

假设一个字段,‘a’开头就替换成‘1’,‘b’开头就替换成‘2’,怎么写更新语句好一点
尝试过regexp,但是这样就有很多条sql语句,就会很慢

UPDATE trade SETtransportal='1'WHEREtransportal REGEXP '^(a)';

有没有什么优化的办法啊


繁花如伊
浏览 828回答 2
2回答

回首忆惘然

如果只是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

牛魔王的故事

这些应该由程序控制逻辑,SQL不应该做这种事情
随时随地看视频慕课网APP

相关分类

MySQL
我要回答