每日sql :求好友申请通过率
背景
模拟两张表。1为好友申请表,2为申请通过表
问题1:好友申请通过率
ddl
Create table If Not Exists friend_request ( sender_id INT NOT NULL, send_to_id INT NULL, request_date DATE NULL);Create table If Not Exists request_accepted ( requester_id INT NOT NULL, accepter_id INT NULL, accept_date DATE NULL);insert into friend_request (sender_id, send_to_id, request_date) values (1, 2, '2016/06/01');insert into friend_request (sender_id, send_to_id, request_date) values (1, 3, '2016/06/01');insert into friend_request (sender_id, send_to_id, request_date) values (1, 4, '2016/06/01');insert into friend_request (sender_id, send_to_id, request_date) values (2, 3, '2016/06/02');insert into friend_request (sender_id, send_to_id, request_date) values (3, 4, '2016/06/09');insert into request_accepted (requester_id, accepter_id, accept_date) values (1, 2, '2016/06/03');insert into request_accepted (requester_id, accepter_id, accept_date) values (1, 3, '2016/06/08');insert into request_accepted (requester_id, accepter_id, accept_date) values (2, 3, '2016/06/08');insert into request_accepted (requester_id, accepter_id, accept_date) values (3, 4, '2016/06/09');insert into request_accepted (requester_id, accepter_id, accept_date) values (3, 4, '2016/06/10');
sql
select round( (select count(*) from (select distinct requester_id,accepter_id from request_accepted) as b) / (select count(*) from (select distinct sender_id,send_to_id from friend_request) as a) ,2)