-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSQLQuery3.sql
More file actions
68 lines (55 loc) · 2.78 KB
/
SQLQuery3.sql
File metadata and controls
68 lines (55 loc) · 2.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
Create table Signups (user_id int, time_stamp datetime)
Create TABLE Confirmations (
user_id int,
time_stamp datetime,
action VARCHAR(10) CHECK (action IN ('confirmed', 'timeout'))
);
Truncate table Signups
insert into Signups (user_id, time_stamp) values ('3', '2020-03-21 10:16:13')
insert into Signups (user_id, time_stamp) values ('7', '2020-01-04 13:57:59')
insert into Signups (user_id, time_stamp) values ('2', '2020-07-29 23:09:44')
insert into Signups (user_id, time_stamp) values ('6', '2020-12-09 10:39:37')
Truncate table Confirmations
insert into Confirmations (user_id, time_stamp, action) values ('3', '2021-01-06 03:30:46', 'timeout')
insert into Confirmations (user_id, time_stamp, action) values ('3', '2021-07-14 14:00:00', 'timeout')
insert into Confirmations (user_id, time_stamp, action) values ('7', '2021-06-12 11:57:29', 'confirmed')
insert into Confirmations (user_id, time_stamp, action) values ('7', '2021-06-13 12:58:28', 'confirmed')
insert into Confirmations (user_id, time_stamp, action) values ('7', '2021-06-14 13:59:27', 'confirmed')
insert into Confirmations (user_id, time_stamp, action) values ('2', '2021-01-22 00:00:00', 'confirmed')
insert into Confirmations (user_id, time_stamp, action) values ('2', '2021-02-28 23:59:59', 'timeout')
--Input:
--Signups table:
--+---------+---------------------+
--| user_id | time_stamp |
--+---------+---------------------+
--| 3 | 2020-03-21 10:16:13 |
--| 7 | 2020-01-04 13:57:59 |
--| 2 | 2020-07-29 23:09:44 |
--| 6 | 2020-12-09 10:39:37 |
--+---------+---------------------+
--Confirmations table:
--+---------+---------------------+-----------+
--| user_id | time_stamp | action |
--+---------+---------------------+-----------+
--| 3 | 2021-01-06 03:30:46 | timeout |
--| 3 | 2021-07-14 14:00:00 | timeout |
--| 7 | 2021-06-12 11:57:29 | confirmed |
--| 7 | 2021-06-13 12:58:28 | confirmed |
--| 7 | 2021-06-14 13:59:27 | confirmed |
--| 2 | 2021-01-22 00:00:00 | confirmed |
--| 2 | 2021-02-28 23:59:59 | timeout |
--+---------+---------------------+-----------+
--Output:
--+---------+-------------------+
--| user_id | confirmation_rate |
--+---------+-------------------+
--| 6 | 0.00 |
--| 3 | 0.00 |
--| 7 | 1.00 |
--| 2 | 0.50 |
--+---------+-------------------+
--The confirmation rate of a user is the number of 'confirmed' messages
--divided by the total number of requested confirmation messages. The confirmation rate of a user
--that did not request any confirmation messages is 0. Round the confirmation rate to two decimal places.
select * from Confirmations
select * from Signups