题解 | #月均完成试卷数不小于3的用户爱作答的类别#

月均完成试卷数不小于3的用户爱作答的类别

https://www.nowcoder.com/practice/b1d13efcfa0c4ecea517afbdb9090845

select
-- 3.最后聚合
    b.tag
    ,count(1) tag_cnt
from (
-- 1.要找到当月月均做题量>=3的人,就要先根据月份、用户进行分组,计算每人每月做题量。
-- 这里的目的只是找出我们要的uid
    select 
        uid
        ,month(start_time) my_month
        ,count(submit_time) cnt
    from exam_record
    group by uid,month(start_time)
) a 
inner join (
-- 2.把两个原始表合并得到全部想要的数据,
-- 这步之后我们已经得到了我们目标用户的全部做题数据,之后聚合、排序一下就可以了
    select 
        t1.uid
        ,t2.tag
    from exam_record t1
    inner join examination_info t2
    on t1.exam_id = t2.exam_id
) b
on a.uid = b.uid
-- 筛选做题量>=3的当月数据(这里题目没说明白,当月是9月)
where a.cnt>=3 and my_month = 9
group by b.tag
-- 4.排序
order by count(1) desc

全部评论

相关推荐

11-08 16:53
门头沟学院 C++
投票
滑模小马达:第三个如果是qfqc感觉还行,我签的qfkj搞电机的,违约金也很高,但公司感觉还可以,听说之前开过一个试用转正的应届生,仅供参考。
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务