题解 | 每个题目和每份试卷被作答的人数和次数

每个题目和每份试卷被作答的人数和次数

https://www.nowcoder.com/practice/203d0aed8928429a8978185d9a03babc

select
    *
from
    (
        select
            exam_id as tid,
            count(distinct uid) as uv,
            count(uid) as pv
        from
            exam_record
        group by
            exam_id
        order by
            uv desc,
            pv desc
    ) t1
union
select
    *
from
    (
        select
            question_id as tid,
            count(distinct uid) as uv,
            count(uid) as pv
        from
            practice_record
        where
            submit_time is not null
        group by
            question_id
        order by
            uv desc,
            pv desc
    ) t2

这个题目提供了一个思路,就是由于union本身对排序的时候,只能在union的最后使用一次order排序,因此如果想针对子查询分别进行排序的话,那么就可以进行一次查询并完成排序后,作为数据源再反给外层查询,然后再进行union

全部评论

相关推荐

07-02 13:50
闽江学院 Java
点赞 评论 收藏
分享
ZywOo_求职版:谁问你了....
投递字节跳动等公司9个岗位
点赞 评论 收藏
分享
陆续:不可思议 竟然没那就话 那就我来吧 :你是我在牛客见到的最美的女孩
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务