597. 好友申请 I :总体通过率

这道题是给出两张表,计算好友申请的总体通过率

主要注意以下几点,

  • 一个同样的好友申请可能会被发送几次,所以需要去重操作
  • 对于通过的好友申请不一定都是在好友请求中,这里我的思路有点混乱,只需要记录通过的个数占申请的个数的比例就可以了
  • 如果没有通过,那要填写为0
  • 这里还有对小数点后几位的要求

以上的要求我们要一一满足

SELECT ROUND(IFNULL(
             (SELECT COUNT(DISTINCT requester_id, accepter_id) 
              FROM request_accepted)/
             (SELECT COUNT(DISTINCT sender_id, send_to_id) 
              FROM friend_request), 0), 2)
AS accept_rate

这里要注意的是round(a, 2)的用法,还有ifnull(a, A, B)就是指如果不是null那就是A,如果是null,那就是B

发布了24 篇原创文章 · 获赞 0 · 访问量 311

猜你喜欢

转载自blog.csdn.net/Helslie/article/details/104811877
今日推荐