SQL中Case的使用方法

SQL中Case的使用方法 SQL中Case的使用方法(上篇) Case具有两种格式。简单Case函数和Case搜索函数。 --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END

这两种方式,可以实现相同的功能。简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式。 还有一个需要注意的问题,Case函数只返回第一个符合条件的值,剩下的Case部分将会被自动忽略。 --比如说,下面这段SQL,你永远无法得到“第二类”这个结果 CASE WHEN col_1 IN ( 'a', 'b') THEN '第一类' WHEN col_1 IN ('a') THEN '第二类' ELSE'其他' END

下面我们来看一下,使用Case函数都能做些什么事情。 一,已知数据按照另外一种方式进行分组,分析。 有如下数据:(为了看得更清楚,我并没有使用国家代码,而是直接用国家名作为Primary Key) 国家(country) 人口(population) 中国 600 美国 100 加拿大 100 英国 200 法国 300 日本 250 德国 200 墨西哥 50 印度 250 根据这个国家人口数据,统计亚洲和北美洲的人口数量。应该得到下面这个结果。 洲 人口 亚洲 1100 北美洲 250 其他 700 想要解决这个问题,你会怎么做?生成一个带有洲Code的View,是一个解决方法,但是这样很难动态的改变统计的方式。 如果使用Case函数,SQL代码如下: SELECT SUM(population), CASE country WHEN '中国' THEN '亚洲' WHEN '印度' THEN '亚洲' WHEN '日本' THEN '亚洲' WHEN '美国' THEN '北美洲' WHEN '加拿大' THEN '北美洲' WHEN '墨西哥' THEN '北美洲' ELSE '其他' END FROM Table_A GROUP BY CASE country WHEN '中国' THEN '亚洲' WHEN '印度' THEN '亚洲' WHEN '日本' THEN '亚洲' WHEN '美国' THEN '北美洲' WHEN '加拿大' THEN '北美洲' WHEN '墨西哥' THEN '北美洲' ELSE '其他' END; 同样的,我们也可以用这个方法来判断工资的等级,并统计每一等级的人数。SQL代码如下; SELECT CASE WHEN salary <= 500 THEN '1' WHEN salary > 500 AND salary <= 600 THEN '2' WHEN salary > 600 AND salary <= 800 THEN '3' WHEN salary > 800 AND salary <= 1000 THEN '4' ELSE NULL END salary_class, COUNT(*) FROM Table_A GROUP BY CASE WHEN salary <= 500 THEN '1' WHEN salary > 500 AND salary <= 600 THEN '2' WHEN salary > 600 AND salary <= 800 THEN '3' WHEN salary > 800 AND salary <= 1000 THEN '4' ELSE NULL END; 二,用一个SQL语句完成不同条件的分组。 有如下数据 国家(country) 性别(sex) 人口(population) 中国 1 340 中国 2 260 美国 1 45 美国 2 55 加拿大 1 51 加拿大 2 49 英国 1 40 英国 2 60 按照国家和性别进行分组,得出结果如下 国家 男 女 中国 340 260 美国 45 55 加拿大 51 49 英国 40 60 普通情况下,用UNION也可以实现用一条语句进行查询。但是那样增加消耗(两个Select部分),而且SQL语句会比较长。 下面是一个是用Case函数来完成这个功能的例子 SELECT country, SUM( CASE WHEN sex = '1' THEN population ELSE 0 END), --男性人口 SUM( CASE WHEN sex = '2' THEN population ELSE 0 END) --女性人口 FROM Table_A GROUP BY country; 这样我们使用Select,完成对二维表的输出形式,充分显示了Case函数的强大。 三,在Check中使用Case函数。 在Check中使用Case函数在很多情况下都是非常不错的解决方法。可能有很多人根本就不用Check,那么我建议你在看过下面的例子之后也尝试一下在SQL中使用Check。 下面我们来举个例子 公司A,这个公司有个规定,女职员的工资必须高于1000块。如果用Check和Case来表现的话,如下所示 CONSTRAINT check_salary CHECK ( CASE WHEN sex = '2' THEN CASE WHEN salary > 1000 THEN 1 ELSE 0 END ELSE 1 END = 1 ) 如果单纯使用Check,如下所示 CONSTRAINT check_salary CHECK ( sex = '2' AND salary > 1000 ) 女职员的条件倒是符合了,男职员就无法输入了。

SQL中Case的使用方法(下篇) 接上篇 四,根据条件有选择的UPDATE。 例,有如下更新条件 工资5000以上的职员,工资减少10% 工资在2000到4600之间的职员,工资增加15% 很容易考虑的是选择执行两次UPDATE语句,如下所示 --条件1 UPDATE Personnel SET salary = salary * 0.9 WHERE salary >= 5000; --条件2 UPDATE Personnel SET salary = salary * 1.15 WHERE salary >= 2000 AND salary < 4600; 但是事情没有想象得那么简单,假设有个人工资5000块。首先,按照条件1,工资减少10%,变成工资4500。接下来运行第二个SQL时候,因为这个人的工资是4500在2000到4600的范围之内,需增加15%,最后这个人的工资结果是5175,不但没有减少,反而增加了。如果要是反过来执行,那么工资4600的人相反会变成减少工资。暂且不管这个规章是多么荒诞,如果想要一个SQL 语句实现这个功能的话,我们需要用到Case函数。代码如下: UPDATE Personnel SET salary = CASE WHEN salary >= 5000 THEN salary * 0.9 WHEN salary >= 2000 AND salary < 4600 THEN salary * 1.15 ELSE salary END; 这里要注意一点,最后一行的ELSE salary是必需的,要是没有这行,不符合这两个条件的人的工资将会被写成NUll,那可就大事不妙了。在Case函数中Else部分的默认值是NULL,这点是需要注意的地方。 这种方法还可以在很多地方使用,比如说变更主键这种累活。 一般情况下,要想把两条数据的Primary key,a和b交换,需要经过临时存储,拷贝,读回数据的三个过程,要是使用Case函数的话,一切都变得简单多了。 p_key col_1 col_2 a 1 张三 b 2 李四 c 3 王五

假设有如上数据,需要把主键a和b相互交换。用Case函数来实现的话,代码如下 UPDATE SomeTable SET p_key = CASE WHEN p_key = 'a' THEN 'b' WHEN p_key = 'b' THEN 'a' ELSE p_key END WHERE p_key IN ('a', 'b'); 同样的也可以交换两个Unique key。需要注意的是,如果有需要交换主键的情况发生,多半是当初对这个表的设计进行得不够到位,建议检查表的设计是否妥当。 五,两个表数据是否一致的检查。 Case函数不同于DECODE函数。在Case函数中,可以使用BETWEEN,LIKE,IS NULL,IN,EXISTS等等。比如说使用IN,EXISTS,可以进行子查询,从而实现更多的功能。 下面具个例子来说明,有两个表,tbl_A,tbl_B,两个表中都有keyCol列。现在我们对两个表进行比较,tbl_A中的keyCol列的数据如果在tbl_B的keyCol列的数据中可以找到,返回结果'Matched',如果没有找到,返回结果'Unmatched'。 要实现下面这个功能,可以使用下面两条语句 --使用IN的时候 SELECT keyCol, CASE WHEN keyCol IN ( SELECT keyCol FROM tbl_B )

合集下载

SQLCASE多条件用法

SQLCASE多条件用法

SQLCASE多条件⽤法Case具有两种格式。

简单Case函数和Case搜索函数。

--简单Case函数CASE sexWHEN '1' THEN '男'WHEN '2' THEN '⼥'ELSE '其他' END--Case搜索函数CASE WHEN sex = '1' THEN '男'WHEN sex = '2' THEN '⼥'ELSE '其他' END这两种⽅式,可以实现相同的功能。

简单Case函数的写法相对⽐较简洁,但是和Case搜索函数相⽐,功能⽅⾯会有些限制,⽐如写判断式。

还有⼀个需要注意的问题,Case函数只返回第⼀个符合条件的值,剩下的Case部分将会被⾃动忽略。

--⽐如说,下⾯这段SQL,你永远⽆法得到“第⼆类”这个结果CASE WHEN col_1 IN ( 'a', 'b') THEN '第⼀类'WHEN col_1 IN ('a') THEN '第⼆类'ELSE'其他' END下⾯我们来看⼀下,使⽤Case函数都能做些什么事情。

⼀,已知数据按照另外⼀种⽅式进⾏分组,分析。

有如下数据:(为了看得更清楚,我并没有使⽤国家代码,⽽是直接⽤国家名作为Primary Key)国家(country)⼈⼝(population)中国 600美国 100加拿⼤ 100英国 200法国 300⽇本 250德国 200墨西哥 50印度 250根据这个国家⼈⼝数据,统计亚洲和北美洲的⼈⼝数量。

应该得到下⾯这个结果。

洲⼈⼝亚洲 1100北美洲 250其他 700想要解决这个问题,你会怎么做?⽣成⼀个带有洲Code的View,是⼀个解决⽅法,但是这样很难动态的改变统计的⽅式。

sql中case when 用法

sql中case when 用法

在 SQL 中,CASE WHEN 语句用于在查询结果中执行条件逻辑。

它可以根据一个或多个条件对查询结果进行条件过滤和转换。

下面将详细介绍 CASE WHEN 的用法,包括基本语法、示例和注意事项。

1. 基本语法sqlCASEWHEN condition1 THEN result1WHEN condition2 THEN result2...ELSE resultNEND在上述语法中,condition1, condition2 等是条件表达式,result1, result2 等是当对应条件为真时返回的结果。

如果所有条件都不满足,则返回 ELSE 子句中的结果。

2. 示例假设有一个名为 employees 的表,其中包含员工的信息,包括 salary 和 department 列。

以下是如何使用 CASE WHEN 语句根据部门和薪水对员工进行分类的示例:sqlSELECTemployee_id,department,salary,CASEWHEN department = 'Sales' AND salary > 5000 THEN 'High Salary Sales Employee'WHEN department = 'Marketing' AND salary > 5000 THEN 'High Salary Marketing Employee'WHEN department = 'Sales' AND salary <= 5000 THEN 'Low Salary SalesEmployee'WHEN department = 'Marketing' AND salary <= 5000 THEN 'Low Salary Marketing Employee'ELSE 'Other Department Employee'END AS employee_categoryFROM employees;在这个例子中,我们根据部门和薪水将员工分为不同的类别。

sql中的case when用法

sql中的case when用法

sql中的case when用法SQL中的CASE WHEN用法CASE WHEN是SQL中的一种条件语句,它可以根据指定的条件判断,返回相应的结果。

它具有case,when,then,else,end等关键字,其中case表示开始判断,when表示判断条件,then表示执行结果,else表示默认结果,end表示结束判断。

下面我们就详细来介绍一下SQL中的CASE WHEN语句的用法:1、基本用法:基本的CASE WHEN语句的格式如下:SELECT 字段1, CASE 字段2WHEN 条件1 THEN 结果1WHEN 条件2 THEN 结果2ELSE 默认结果END AS 别名FROM 表名;上面的语句中,字段1代表要查询的字段,字段2代表根据那个字段进行判断,别名代表处理后的结果的别名,条件1和条件2代表判断的条件,结果1和结果2表示条件对应的结果,默认结果表示当所有的条件都不满足的时候,返回的结果,最后表示要查询的表名。

例如:SELECT 姓名, 年龄 , CASE 年龄WHEN 0 THEN '未出生'WHEN 1 THEN '婴儿'WHEN 3 THEN '幼儿'ELSE '其他'END AS 人群FROM student;上面的语句中,查询出student表中的姓名和年龄,并根据年龄进行判断,当年龄为0时,返回‘未出生’,当年龄为1时,返回‘婴儿’,当年龄为3时,返回‘幼儿’,其他情况返回‘其他’,然后把处理后的结果起别名为人群。

2、复合条件判断:复合条件判断的CASE WHEN语句的格式如下:SELECT 字段1, CASEWHEN 条件1 THEN 结果1WHEN 条件2 THEN 结果2WHEN 条件3 THEN 结果3ELSE 默认结果END AS 别名FROM 表名;上面的语句中,字段1代表要查询的字段,别名代表处理后的结果的别名,条件1,条件2,条件3代表判断的条件,结果1,结果2,结果3表示条件对应的结果,默认结果表示当所有的条件都不满足的时候,返回的结果,最后表示要查询的表名。

case when 嵌套sql用法

case when 嵌套sql用法

case when 嵌套sql用法CASE WHEN 嵌套 SQL 用法在 SQL 查询语句中,CASE WHEN 语句可以用于根据条件返回不同的结果。

当有多个相互关联的条件需要进行判断时,可以使用嵌套的 CASE WHEN 语句来实现更复杂的逻辑。

下面将介绍如何使用嵌套的 CASEWHEN 语句。

嵌套的 CASE WHEN 语句的基本语法如下:```CASEWHEN condition1 THEN result1WHEN condition2 THEN result2...ELSE defaul_resultEND```在上述的基本语法中我们可以使用任意数量的 `WHEN` 子句来判断不同的条件,并返回相应的结果。

当条件匹配时,将会执行匹配的`result` 部分。

如果没有条件匹配成功,将会返回 `defaul_result`。

嵌套的 CASE WHEN 语句可以在 `result` 部分中包含另一个 CASE WHEN 语句,从而实现更复杂的逻辑判断。

例如,我们可以使用嵌套的CASE WHEN 语句来根据不同的条件返回不同的结果。

以下是一个示例,展示了如何使用嵌套的 CASE WHEN 语句:```SELECTcustomer_name,CASEWHEN total_order_amount > 1000 THEN 'VIP'WHEN total_order_amount > 500 THEN 'Regular'ELSE 'Standard'END AS customer_categoryFROMcustomers;```在上面的示例中,我们根据客户的订单总金额将客户分为 VIP、Regular 和 Standard 三个类别。

如果订单总金额超过 1000,客户将被标记为 VIP;如果订单总金额超过 500,但不到 1000,客户将被标记为 Regular;否则,客户将被标记为 Standard。

sql中any与case语句用法 -回复

sql中any与case语句用法 -回复

sql中any与case语句用法-回复题目:SQL中ANY与CASE语句的用法详解引言:在SQL中,我们经常需要进行条件判断以及多个条件的比较。

为了实现这些功能,SQL提供了一些强大的功能,其中ANY与CASE语句是两个常用的功能。

本文将一步一步地为您介绍SQL中ANY与CASE语句的用法,并提供一些示例来帮助您更好地理解这两个功能。

一、ANY语句的概述在SQL中,ANY用于在子查询中与比较运算符一起使用。

它表示任意一个满足条件即可返回结果。

ANY通常用于子查询中,用于比较一个列值与子查询返回的多个值中的任意一个。

ANY语句的基本语法如下:SELECT column_name(s)FROM table_nameWHERE column_name operator ANY(SELECT column_name FROM table_name WHERE condition);其中,operator是比较运算符,常见的比较运算符有等于(=),大于(>),小于(<)等。

ANY语句的使用场景有很多,比如查找大于某个值的任意一个记录,或者查找某个列值与一组值中任意一项相等的记录等。

下面通过示例来具体说明ANY语句的用法。

二、ANY语句示例假设我们有一个名为"students"的表,其中包含学生的姓名和成绩。

我们想要找出成绩高于任意一个其他学生的学生。

SQL查询语句如下:SELECT nameFROM studentsWHERE score > ANY (SELECT score FROM students);在这个示例中,我们使用ANY语句在子查询中,将学生的成绩与所有其他学生的成绩进行比较。

只要学生的成绩大于其中任意一个学生的成绩,就会被返回。

三、CASE语句的概述CASE语句用于在SQL中实现条件逻辑。

它允许我们根据条件的不同执行不同的操作或返回不同的结果。

CASE语句有两种基本形式:简单CASE表达式和搜索CASE表达式。

casewhen用法sql

casewhen用法sql

SQL中Case When的用法在SQL中,“Case When”语句用于选择判断,在执行时先对条件进行判断,然后根据判断结果做出相应的操作;语法“CASE 字段 WHEN 条件1 THEN 操作1 WHEN 条件2 THEN 操作2...ELSE 操作n END;”。

本教程操作环境:windows7系统、Microsoft SQL Server 2016版、Dell G3电脑。

SQL中case when的用法case when类似于编程语言中的if else判断、switch case语句。

该语句执行时先对条件进行判断,然后根据判断结果做出相应的操作。

Case具有两种格式:简单Case函数和Case搜索函数。

简单Case函数:Case搜索函数:显然,简单Case函数胜在简洁,但是它只适用于这种单字段的单值比较,而Case搜索函数的优点在于适用于所有比较的情况。

还有一个需要注意的问题,Case函数在满足了某个符合条件后,剩下的条件将会被自动忽略,因此,即使满足多个条件,执行过程中也只认第一个条件。

(PHP中文网,有大量免费的SQL教程,欢迎大家学习!)在使用CASE WHEN时,可以把它当作一个逻辑上的匿名字段,字段值根据条件确认,在需要使用字段名时可以是用as来定义别名。

这么说还很抽象,看看下面CASE WHEN的使用案例就清楚了。

使用场景1、可以将已知数据按照某种方式进行分组,分析。

根据这个国家人口数据,统计亚洲和北美洲的人口数量。

使用如下SQL:1 2 3 4 5 6 7 8 9 10 11SELECT CASE countryWHEN '中国'THEN '亚洲'WHEN '印度'THEN '亚洲'WHEN '日本'THEN '亚洲'WHEN '美国'THEN '北美洲'WHEN '加拿大'THEN '北美洲'WHEN '墨西哥'THEN '北美洲'ELSE '其他'END as'洲', SUM(population) as'人口' FROM testGROUP BY CASE countryWHEN '中国'THEN '亚洲'这里的两个CASE WHEN都相当于一个字段,不过值得一提的是,第二个CASE WHEN 的THEN 值并不用写明是什么洲,它只是用于将记录进行分组,所以THEN后面的值只有能区分这三种记录就行,GROUP BY也可以写成:1 23 4 5 6 7 8GROUP BY CASE country WHEN '中国'THEN 0 WHEN '印度'THEN 0 WHEN '日本'THEN 0 WHEN '美国'THEN 1 WHEN '加拿大'THEN 1 WHEN '墨西哥'THEN 1 ELSE 2 END;2、用一个SQL语句完成不同条件的分组。

SQL中的case when then else end用法

SQL中的case when then else end用法Case具有两种格式。

简单Case函数和Case搜索函数。

--简单Case函数CASE sexWHEN'1'THEN'男'WHEN'2'THEN'女'ELSE'其他'END--Case搜索函数CASE WHEN sex = '1'THEN'男'WHEN sex = '2'THEN'女'ELSE'其他'END这两种方式,可以实现相同的功能。

简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式。

还有一个需要注意的问题,Case函数只返回第一个符合条件的值,剩下的Case部分将会被自动忽略。

--比如说,下面这段SQL,你永远无法得到“第二类”这个结果CASE WHEN col_1 IN ( 'a', 'b') THEN'第一类'WHEN col_1 IN ('a') THEN'第二类'ELSE'其他'END下面我们来看一下,使用Case函数都能做些什么事情。

一,已知数据按照另外一种方式进行分组,分析。

有如下数据:(为了看得更清楚,我并没有使用国家代码,而是直接用国家名作为Primary Key)根据这个国家人口数据,统计亚洲和北美洲的人口数量。

应该得到下面这个结果。

想要解决这个问题,你会怎么做?生成一个带有洲Code的View,是一个解决方法,但是这样很难动态的改变统计的方式。

如果使用Case函数,SQL代码如下:SELECT SUM(population),CASE countryWHEN'中国'THEN'亚洲'WHEN'印度'THEN'亚洲'WHEN'日本'THEN'亚洲'WHEN'美国'THEN'北美洲'WHEN'加拿大'THEN'北美洲'WHEN'墨西哥'THEN'北美洲'ELSE'其他'ENDFROM Table_AGROUP BY CASE countryWHEN'中国'THEN'亚洲'WHEN'印度'THEN'亚洲'WHEN'日本'THEN'亚洲'WHEN'美国'THEN'北美洲'WHEN'加拿大'THEN'北美洲'WHEN'墨西哥'THEN'北美洲'ELSE'其他'END;同样的,我们也可以用这个方法来判断工资的等级,并统计每一等级的人数。

SQL中的CASE的用法

SQL中的CASE的⽤法CASE在SQL语句中,很有点类似java等⾼级编程语⾔中的switch这样⼦的多分枝语句,但是有点不同的是,case后⾯接的是when,另外,when的后续分枝有点类似if后⾯接else。

这个是我的个⼈认识,case 。

when。

then。

[else]。

下⾯,看看MySQL的帮助信息,可以看到case的基本语法结构:1 topics: #CASE的两种基本⽤法2 CASE OPERATOR3 CASE STATEMENT45 MariaDB [mysql]> help case statement; #case的第⼀种⽤法6 Name: 'CASE STATEMENT'7 Description:8 Syntax:9 CASE case_value10 WHEN when_value THEN statement_list11 [WHEN when_value THEN statement_list] ...12 [ELSE statement_list]13 END CASE1415 Or:1617 CASE18 WHEN search_condition THEN statement_list19 [WHEN search_condition THEN statement_list] ...20 [ELSE statement_list]21 END CASE2223 MariaDB [mysql]> help case operator; #case的第⼆种基本⽤法24 Name: 'CASE OPERATOR'25 Description:26 Syntax:27 CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN28 result ...] [ELSE result] END2930 CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...]31 [ELSE result] END这⾥,我还需要说明的是,case可以和select,check,update等⼀起配合使⽤,相当于增加了SQL操作的条件分析,是的SQL写的可以更加强⼤。

sql中case语句用法举例说明

sql中case语句用法举例说明SQL中的CASE语句是一种流程控制结构,用于根据条件在查询结果中执行不同的操作或返回不同的值。

它通常用于在SELECT语句中进行条件判断和计算,能够根据不同的条件返回不同的结果。

CASE语句一般有两种形式:简单CASE表达式和搜索CASE表达式。

简单CASE 表达式用于对单个表达式进行匹配,而搜索CASE表达式用于对多个表达式进行匹配。

下面将分别介绍这两种形式,并通过举例说明。

一、简单CASE表达式简单CASE表达式的语法如下:CASE 表达式WHEN 值1 THEN 返回值1WHEN 值2 THEN 返回值2…ELSE 返回的缺省值END简单CASE表达式先计算表达式的值,然后根据表达式的值逐个检查每个WHEN 子句,如果表达式的值与某个WHEN子句中的值相等,则返回相应的返回值。

如果没有匹配的WHEN子句,则返回ELSE子句中的返回值,如果没有指定ELSE 子句,则返回NULL。

以下是一个简单CASE表达式的示例:SELECTProductName,CategoryID,CASE CategoryIDWHEN 1 THEN '电子产品'WHEN 2 THEN '家具'WHEN 3 THEN '服装'ELSE '其他'END AS CategoryNameFROMProducts;以上示例中,CASE语句根据CategoryID的值,返回不同的CategoryName。

如果CategoryID为1,则返回电子产品;如果CategoryID为2,则返回家具;如果CategoryID为3,则返回服装;否则返回其他。

二、搜索CASE表达式搜索CASE表达式的语法如下:CASEWHEN 条件1 THEN 返回值1WHEN 条件2 THEN 返回值2…ELSE 返回的缺省值END搜索CASE表达式中的每个WHEN子句都有一个条件,当条件为真时,返回相应的返回值。

sql中case语句的用法浅谈

sql中case语句的⽤法浅谈SQL中Case的使⽤⽅法Case具有两种格式。

简单Case函数和Case搜索函数。

复制代码代码如下:--简单Case函数CASE sexWHEN '1' THEN '男'WHEN '2' THEN '⼥'ELSE '其他' END--Case搜索函数CASE WHEN sex = '1' THEN '男'WHEN sex = '2' THEN '⼥'ELSE '其他' END这两种⽅式,可以实现相同的功能。

简单Case函数的写法相对⽐较简洁,但是和Case搜索函数相⽐,功能⽅⾯会有些限制,⽐如写判断式。

还有⼀个需要注意的问题,Case函数只返回第⼀个符合条件的值,剩下的Case部分将会被⾃动忽略。

--⽐如说,下⾯这段SQL,你永远⽆法得到“第⼆类”这个结果复制代码代码如下:CASE WHEN col_1 IN ( 'a', 'b') THEN '第⼀类'WHEN col_1 IN ('a') THEN '第⼆类'ELSE'其他' END下⾯我们来看⼀下,使⽤Case函数都能做些什么事情。

⼀,已知数据按照另外⼀种⽅式进⾏分组,分析。

有如下数据:(为了看得更清楚,我并没有使⽤国家代码,⽽是直接⽤国家名作为Primary Key)国家(country)⼈⼝(population)中国600美国100加拿⼤100英国200法国300⽇本250德国200墨西哥50印度250根据这个国家⼈⼝数据,统计亚洲和北美洲的⼈⼝数量。

应该得到下⾯这个结果。

洲⼈⼝亚洲1100北美洲250其他700想要解决这个问题,你会怎么做?⽣成⼀个带有洲Code的View,是⼀个解决⽅法,但是这样很难动态的改变统计的⽅式。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档