場景:
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