数据蛙数据分析每周作业数据蛙强化课程第二期

SQL里的多条件判断(类似EXCEL里的IFS)

2019-05-22  本文已影响1人  小橙子A

SQL里类似EXCEL里的IFS的多条件判断——Case When Then

基本格式:

CASE
    WHEN 条件1 THEN 结果1
    WHEN 条件2 THEN 结果2
    WHEN 条件3 THEN 结果3
    WHEN 条件4 THEN 结果4
.........
    WHEN 条件N THEN 结果N
    ELSE 结果X
END

Case可分为2种:简单Case函数Case搜索函数

1.简单Case函数

CASE sex
         WHEN '1' THEN '男'
         WHEN '2' THEN '女'
         ELSE '其他' 
END

2.Case搜索函数

CASE
         WHEN sex = '1' THEN '男'
         WHEN sex = '2' THEN '女'
         ELSE '其他'
END

例如:

SELECT SC.CId,
SUM(CASE WHEN SC.score>=60 THEN 1 ELSE 0 END)/COUNT(*)AS 及格率,
SUM(CASE WHEN SC.score>=70 AND SC.score<80 THEN 1 ELSE 0 END)/COUNT(*)AS 中等率,
SUM(CASE WHEN SC.score>=80 AND SC.score<90 and SC.score<80 THEN 1 ELSE 0 END)/COUNT(*)AS 优良率,
SUM(CASE WHEN SC.score>=90 THEN 1 ELSE 0 END)/COUNT(*)AS 优秀率
FROM SC
GROUP BY SC.CId

上一篇下一篇

猜你喜欢

热点阅读