MySql语句中,select和update使用case when then end笔记

在日常项目中,mysql的case when then end还是比较有意思的,请看例子:

select的使用

数据表结构:

执行语句:

复制代码
SELECT
count(*),
CASE
    WHEN role_count between 1 and 100 THEN '一般'
    WHEN role_count between 101 and 1000 THEN '不错'
    WHEN role_count between 1001 and 5000 THEN '很棒'
    WHEN role_count >= 5001 THEN '非常棒'
ELSE '弱爆了'
END 
AS pj
FROM statis_server_rolecount_recharge GROUP BY pj;
复制代码

 按照role_count字段的值做统计。


 update的使用

数据表结构:

执行语句:

复制代码
update `statis_server_rolecount_recharge` set role_count = 
case 
    when gid = 1 and server_id = 104020012 then role_count + 100
    when gid = 1 and server_id = 104020000 then role_count + 100 
    when gid = 1 and server_id = 104020007 then role_count + 100 
    when gid = 1 and server_id = 104020010 then role_count + 100 
    when gid = 1 and server_id = 104020011 then role_count + 100 
    when gid = 1 and server_id = 104020006 then role_count + 100 
    when gid = 1 and server_id = 104020009 then role_count + 100 
    when gid = 1 and server_id = 104020003 then role_count + 100 
    when gid = 1 and server_id = 104020008 then role_count + 100 
    when gid = 1 and server_id = 104020001 then role_count + 100 
end;
复制代码

执行代码结果:

可以看到,在原来role_count的字段上,每个都加了100

注意:我这里为了做测试,没有加任何条件,实际项目中,务必要控制好更新的条件哦!

posted @   第一夫人  阅读(644)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示