更新數據技巧之: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

相關文章
相關標籤/搜索