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
注意:我这里为了做测试,没有加任何条件,实际项目中,务必要控制好更新的条件哦!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构