> 文章列表 > 力扣sql中等篇练习(八)

力扣sql中等篇练习(八)

力扣sql中等篇练习(八)

力扣sql中等篇练习(八)

1 确认率

1.1 题目内容

1.1.1 基本题目信息1

在这里插入图片描述

1.1.2 基本题目信息2

在这里插入图片描述

1.1.3 示例输入输出

a 示例输入

在这里插入图片描述

b 示例输出

在这里插入图片描述

1.2 示例sql语句

# 分别统计没确认的用户和已经确认了的用户
SELECT s.user_id,ROUND(SUM(IF(c.action='confirmed',1,0))/count(*),2)  confirmation_rate
FROM Signups s
LEFT JOIN Confirmations c
ON s.user_id=c.user_id
GROUP BY s.user_id

1.3 运行截图

在这里插入图片描述

2 买下所有产品的客户

2.1 题目内容

2.1.1 基本题目信息

在这里插入图片描述

2.1.2 示例输入输出

在这里插入图片描述

2.2 示例sql语句

#一个顾客可能有买同一个商品多次
SELECT t1.customer_id
FROM
(SELECT distinct customer_id,product_keyFROM Customer
)t1
GROUP BY t1.customer_id
HAVING SUM(IF(t1.product_key in(SELECT product_key FROM Product),1,0))=(SELECT count(product_key) FROM Product)

2.3 运行截图

在这里插入图片描述

3 餐馆营业额变化增长

3.1 题目内容

3.1.1 基本题目信息

在这里插入图片描述

3.1.2 示例输入输出

在这里插入图片描述

3.2 示例sql语句

# 注意:日期可能有重复,需要去重
SELECT c1.visited_on,sum(c2.amount) amount,ROUND(SUM(c2.amount)/7,2) average_amount
FROM
(SELECT distinct visited_onFROM Customer
)c1
INNER JOIN Customer c2
ON datediff(c1.visited_on,c2.visited_on) between 0 and 6
GROUP BY c1.visited_on
HAVING count(distinct c2.visited_on)=7
ORDER BY c1.visited_on asc

3.3 运行截图

在这里插入图片描述