sql面试题:分组查询和组函数的练习

第一题

写一条sql语句:实现如下效果
原表:
在这里插入图片描述
实现效果表

在这里插入图片描述
sql语句为

SELECT 
sex,
sum(case when dept ='win' then 1 else 0 end) win, 
sum(case when dept ='lose' then 1 else 0 end)lose
from table_name
GROUP BY sex

第二题

查询username为2的每种userpass的个数

表:
在这里插入图片描述
查询方式一
在这里插入图片描述
查询方式二

SELECT
    userpass,
    COUNT(userpass)
FROM
    users 
    WHERE username = '2'
GROUP BY
    userpass

在这里插入图片描述

第三题

数据表:

姓名科目分数
张三语文80
张三数学98
张三英语65
李四语文70
李四数学80
李四英语90

期望查询结果:

姓名语文数学英语
张三809865
李四708090

查询sql

select 
	name as '姓名' ,
	max(case type when '语文' then scor else 0 end) '语文',   
	max(case type when '数学' then scor else 0 end) '数学',   
	max(case type when '英语' then scor else 0 end) '英语'
from score     
group by name
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值