通过分组的形式以count(*)函数我们分别将 用户总数 和 刷题总数 求出 然后以sum求和
select
sum(amt.did_cnt) as did_cnt,
sum(amt.question_cnt) as question_cnt
from (
select
question_practice_detail.device_id,
count(*) as question_cnt,
case when question_practice_detail.device_id = usern.device_id then 1 else 0 end as did_cnt
from question_practice_detail
left join (
select DISTINCT device_id from question_practice_detail
) as usern on usern.device_id = question_practice_detail.device_id
where date >= '2021-08-01'
GROUP BY device_id
) as amt
select
sum(amt.did_cnt) as did_cnt,
sum(amt.question_cnt) as question_cnt
from (
select
question_practice_detail.device_id,
count(*) as question_cnt,
case when question_practice_detail.device_id = usern.device_id then 1 else 0 end as did_cnt
from question_practice_detail
left join (
select DISTINCT device_id from question_practice_detail
) as usern on usern.device_id = question_practice_detail.device_id
where date >= '2021-08-01'
GROUP BY device_id
) as amt
我已经通过这道题!
https://gw-c.nowcoder.com/api/sparta/jump/link?link=https%3A%2F%2Fwww.nowcoder.com%2FquestionTerminal%2Fb8f30b239b454ed490367b53ea95607d
全部评论
相关推荐
12-01 10:44
东北大学 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享
12-03 11:12
门头沟学院 Java 点赞 评论 收藏
分享

