更新数据技巧之:update表子查询、多条件判断

场景:
mysql

系统运行了一段时间后,好多用户消费,须要在表中对用户进行等级更新,咱们的需求是:sql


一、只对超过平均消费金额的用户进行等级升级ide


二、达到平均消费金额 1倍的用户 等级是 白金用户it


三、2倍或以上的是黄金用户class


四、其余一概是吃瓜用户date



mysql 里面的case when:select


case 查询

  when 表达式 then表达式 di


  else 表达式时间


 end 


每每用于select 查询时 对字段进行特殊条件处理


update user_level,(select avg(user_total) as avg from user_level) b set user_rank=

case

 when round(user_total/avg)>=1 and  round(user_total/avg)<2 then '白金用户'

 when round(user_total/avg)>=2  then '黄金用户'

ELSE

 '吃瓜'

end  where user_total>=b.avg

相关文章
相关标签/搜索