SQL学习(四)

SQL-Case When 用法

(1)简单Case函数

CASE sex   ---sex是一列
WHEN '1' THEN '男'
WHEN '2' THEN '女'
ELSE '其他' END

(2)Case搜索函数

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

第一种方法更加简洁些,第二种方法更容易看懂些。
实际例子:数据如下

country population
中国 600
美国 100
加拿大 100
英国 20
法国 300
日本 250
德国 200
墨西哥 50
印度 250

我们想要统计亚洲,北美洲的人口数量,想要得到如下的表格:

zhou population
亚洲 1100
北美洲 250
其他 700

Solution-使用case函数

SELECT  
    CASE country  
        WHEN '中国' THEN '亚洲' 
        WHEN '印度' THEN '亚洲' 
        WHEN '日本' THEN '亚洲' 
        WHEN '美国' THEN '北美洲' 
        WHEN '加拿大'  THEN '北美洲' 
        WHEN '墨西哥'  THEN '北美洲' 
        ELSE '其他' 
    END as '洲',  SUM(population) '人口'
FROM    datas
GROUP BY
    CASE country 
        WHEN '中国' THEN '亚洲' 
        WHEN '印度' THEN '亚洲'
        WHEN '日本' THEN '亚洲' 
        WHEN '美国' THEN '北美洲' 
        WHEN '加拿大'   THEN '北美洲' 
        WHEN '墨西哥'   THEN '北美洲' 
        ELSE '其他' 
    END; 

猜你喜欢

转载自blog.csdn.net/Jiana_Feng/article/details/108003966