美文网首页
SQL进阶教程之1.1 case when语句

SQL进阶教程之1.1 case when语句

作者: anti酱 | 来源:发表于2021-10-17 21:09 被阅读0次

    case when语句书写注意点

    • 统一数据类型——同一字段不能出现不同数据类型
    • 不要忘记end
    • 养成写子句else

    用法1:group by 按照casewhen分组
    应用场景:如果直接group by,会按照原始列内容进行分组汇总,无法满足需求
    案例:按照地区汇总人口数

    原始表格 按照case when分组group by

    用法2:case when 行转列
    应用场景:需要把原数据的行变成列,列变成行
    案例:把所有男性/女性分别汇总成一列

    原始表 原有的男性/女性分别称为一列

    用法3:update 同步更新
    应用场景:由于update会在更新结果上继续更新,因此单独更新会出现错误,此时需要用到case when 同时更新
    案例:薪资>300000 薪资变为9成,薪资大于250000,小于280000薪资变为1.2倍数

    原始表格 case when 划分情况实现了同时更新

    用法4:case when +子查询
    应用场景:需要查询的信息同时与两个表有关系
    案例:查询各课程及月份,有该课程打圈,没有打叉

    原始表coursemaster 原始表opencourses case when作为判断,当满足相应id在某范围内则打勾,否则打叉

    用法5:case when 聚合函数
    应用场景:需要使用多种聚合函数,当满足相应情况聚合相应结果
    案例:求各学生主要社团id,如果只有一个社团则该是该社团id,若多个社团,按照flag判断

    原始表格 满足count(*)=1则为club_id,否则找flag为Y的作为社团id

    相关文章

      网友评论

          本文标题:SQL进阶教程之1.1 case when语句

          本文链接:https://www.haomeiwen.com/subject/jtiwoltx.html