传统网站与营销型网站,网站备案复查 手机号码打不通,如何开网站呢,在线网页代理服务器什么是 case-when case-when 是一种 sql 语句中的语法结构,结构如下#xff1a; case 字段名 when 值 then 字段名|值 ... else 字段名|值 end
case when 主要用于数据的 行列转换#xff08;把一列数据转换为多列#xff09;
前置条件#xff1a;
-- 表…什么是 case-when case-when 是一种 sql 语句中的语法结构,结构如下 case 字段名 when 值 then 字段名|值 ... else 字段名|值 end
case when 主要用于数据的 行列转换把一列数据转换为多列
前置条件
-- 表结构如下
create table demo2
( country varchar(20),-- 国家 sex int,-- 性别,男1,女2 pop int-- 人口数量
);
-- 表数据如下
insert into demo2 values(中国,1,340);
insert into demo2 values(中国,2,240);
insert into demo2 values(美国,1,45);
insert into demo2 values(美国,2,55);
insert into demo2 values(加拿大,1,40);
insert into demo2 values(加拿大,2,65);
insert into demo2 values(英国,1,34);
insert into demo2 values(英国,2,60);
commit;
编写查询实现如下效果 效果1 答案1
SELECT d.country , SUM(CASE d.sex WHEN 1 THEN d.pop ELSE 0 END) AS man , SUM(CASE d.sex WHEN 2 THEN d.pop ELSE 0 END) AS woman FROM demo2 d GROUP BY d.country ;
效果2 答案2
SELECT CASE d.country WHEN 中国 THEN 亚洲 WHEN 英国 THEN 欧洲 ELSE 美洲 END AS 洲 , SUM(d.pop) FROM demo2 d GROUP BY ( CASE d.country WHEN 中国 THEN 亚洲 WHEN 英国 THEN 欧洲 ELSE 美洲 END ) ;