当前第2页 返回上一页
这里的两个CASE WHEN都相当于一个字段,不过值得一提的是,第二个CASE WHEN 的THEN值并不用写明是什么洲,它只是用于将记录进行分组,所以THEN后面的值只有能区分这三种记录就行,GROUP BY也可以写成:
1 2 3 4 5 6 7 8 | GROUP 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语句完成不同条件的分组。
有如下数据:

用Case函数来完成按照国家和性别进行分组。使用如下SQL:
1 2 3 4 5 | 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;
|
得到如下结果:

就第一个CASE WHEN讲解:
1 2 | CASE WHEN sex = '1' THEN
population ELSE 0 END
|
当记录的sex为1时,这个字段的值为记录的population值,否则为0,因此能计算出一个国家的男性人口。
更多SQL等编程入门教程,请持续关注PHP中文网!!
以上就是SQL中Case When的用法的详细内容,更多请关注木庄网络博客其它文章!
返回前面的内容
相关阅读 >>
sqlserver查询所有数据库名,表名,和字段名的语句
批量执行sql语句的方法
sql怎么学
[图文]三分钟学会sql server的复制功能
mysql 4种导入数据的方法
sql的常用数据类型列表详解
如何得到数据库中所有表名 表字段及字段中文描述
sql语句中修改表结构的命令是什么?
sql修改语句怎么写呢
hql查询语言的使用介绍
更多相关阅读请进入《sql》频道 >>
机械工业出版社
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。
转载请注明出处:木庄网络博客 » SQL中Case When的用法