求解SQL题,关于留存率、转化率和开窗函数

img

img

求解第1,3,4题
第一题和第三题我只会分开算分子和分母,但不知道怎么把他们合起来写
第四题好复杂,把我绕晕了

感谢大家

第1题我想到的是这样写,但是感觉效率有点低,不知道大家有没有更好的写法
Select
(Select count(distinct did) from order where order_time like '2020_06%')/
(Select count(distinct did) from order where order_time like '2020_07%' and did in (Select distinct did from order where order_time like '2020_06%'))
From order

3.
第3题我是这样写的,不知道有没有语法错误
Select category,
(Select count(did) from driver1
Where datediff(day,reg_time,first_time)<7)/
(Select count(did) from driver1 )
From driver1
Where category in (‘快车’,’优享’,’专车’)
And reg_time like ‘2020-06%’
Group by category