如果觉得文章写得好,如果你想要博客文章中的数据,请关注公众号:【数据分析与统计学之美】,添加作者【个人微信】,进群和作者交流!
近期在群里面看到了如下这样一个面试题目,这个题目其实难度不大,但是你是否能够很快写出这个答案来呢?
建表语句
create table student ( id varchar(20), name varchar(20), gender char(1), birth varchar(20), department varchar(20), address varchar(20) ) charset = utf8;
插入数据
insert into student values ("201901","张大佬","男","1985","计算机系","北京市海淀区"), ("201902","郭大侠","男","1986","中文系","北京市昌平区"), ("201903","张三","女","1990","中文系","湖南省永州市"), ("201904","李四","男","1990","英语系","辽宁市阜新市"), ("201905","王五","女","1991","英语系","福建省厦门市"), ("201906","王六","男","1988","计算机系","湖南省衡阳市");
结果如下
第一步
select department 院系, case gender when "男" then 1 else 0 end 男, case gender when "女" then 1 else 0 end 女 from student;
结果如下
第二步
select 院系, sum(男) 男, sum(女) 女, sum(男) + sum(女) as 总计 from ( select department 院系, case gender when "男" then 1 else 0 end 男, case gender when "女" then 1 else 0 end 女 from student ) a group by 院系;
结果如下