Mysql把一列值赋值给另外一列,update set操作

1,141 阅读2分钟

在数据建模时,经常需要基于原始数据列,创建指标列,需要对列数据进行批量赋值。

赋值操作并不会改变表结构,所以不使用ALTER TABLE,而是使用UPDATE来实现。

UPDATE user_model
SET car_gear = 
(case WHEN preSpec LIKE "%手动%" THEN "手动" 
WHEN preSpec like "%自动%" THEN "自动" 
ELSE NULL 
END)

这段代码实现了从原始列preSpec中抽取出汽车档位是自动,还是手动的指标列。

再比如,根据特定的条件,从preSpec字段中抽取车型指标,赋值给car_model字段。

UPDATE user_model
SET car_model=
(CASE WHEN POSITION("型" IN preSpec)>0 THEN substr(preSpec,POSITION("型" IN preSpec)-2,2) 
WHEN POSITION("版" IN preSpec)>0 THEN substr(preSpec,POSITION("版" IN preSpec)-2,2) 
ELSE NULL
END)

👏👏👏再看看我们以前的文章😃😃😃
🌺 Excel中数据分析工具库-相关系数篇
🌺 干货,手把手教会你做相关性分析
🌺 5年数据分析路,小结。
🌺 用户细分及画像分析
🌺 K-近邻算法及实践

欢迎关注,微信公众号“数据分析师之家
扫描二维码 关注我们
💁提供职业规划、简历指导、面试辅导服务哦
QQ交流群:254674155
在这里插入图片描述