LeetCode(数据库)- 好友申请l:总体通过率
Posted Lux_Sun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode(数据库)- 好友申请l:总体通过率相关的知识,希望对你有一定的参考价值。
题目链接:点击打开链接
题目大意:略。
解题思路:1/0, 0/0 结果都为 NULL。
AC 代码
-- 解决方案(1)
WITH t1 AS(SELECT 1 id, COUNT(DISTINCT requester_id, accepter_id) up FROM RequestAccepted),
t2 AS(SELECT 1 id, COUNT(DISTINCT sender_id, send_to_id) down FROM FriendRequest)
SELECT IF(down = 0, 0.00, ROUND(up/down, 2)) accept_rate
FROM t1, t2
WHERE t1.id = t2.id
-- 解决方案(2)
select
round(
ifnull(
(select count(*) from (select distinct requester_id, accepter_id from request_accepted) as A)
/
(select count(*) from (select distinct sender_id, send_to_id from friend_request) as B),
0)
, 2) as accept_rate;
以上是关于LeetCode(数据库)- 好友申请l:总体通过率的主要内容,如果未能解决你的问题,请参考以下文章
每日SQL打卡DAY 7丨好友申请 I :总体通过率难度简单
LeetCode:Database 26.好友申请 II :谁有最多的好友