数据治理 | SQL中的CASE表达式有什么用?mp.weixin.qq.com
前言
CASE表达式作为SQL里非常重要而且使用起来非常便利的技术,我们可以用它来描述条件分支。本文将通过五个例子来介绍CASE表达式的用法,包括转换统计方式,在SELECT、UPDATE语句里进行条件分支,在CASE表达式中使用聚合函数,利用CASE表达式进行表之间数据匹配。
1、转换统计方式
当我们统计数据时经常遇到的情况是,数据库中已有数据排列方式并不能满足我们分析的需求。我们需要将其转换为另外一种便于分析的方式进行统计,这时CASE表达式会非常有用。例如,现在有一张按照“杭州市”、“宁波市”...“丽水市"排序的农作物播种面积表,见下图。
但是现在我们想按照浙东、浙南、浙西、浙北和浙中等区域来分组,并统计这些区域的农作物播种面积。可以利用CASE表达式将城市编号转换成地区编号进行统计,效果如下。
代码如下。
SELECT CASE WHEN city IN ('温州市','台州市') THEN '浙南'
WHEN city IN ('绍兴市','金华市') THEN '浙