题解 | 未完成试卷数大于1的有效用户

未完成试卷数大于1的有效用户

https://www.nowcoder.com/practice/46cb7a33f7204f3ba7f6536d2fc04286

SELECT 
    uid,
    COUNT(IF(submit_time IS NULL, 1, NULL)) AS incomplete_cnt,
    COUNT(IF(submit_time IS NOT NULL, 1, NULL)) AS complete_cnt,
    GROUP_CONCAT(
        distinct CONCAT(DATE_FORMAT(start_time, '%Y-%m-%d'), ':', tag)
        ORDER BY start_time
        SEPARATOR ';'
    ) AS detail
FROM exam_record er
LEFT JOIN examination_info ei ON er.exam_id = ei.exam_id
WHERE YEAR(start_time) = 2021
    AND uid IN (
        SELECT uid 
        FROM exam_record
        WHERE YEAR(start_time) = 2021
        GROUP BY uid
        HAVING 
            COUNT(IF(submit_time IS NOT NULL, 1, NULL)) >= 1  -- 完成数至少为1
            AND COUNT(IF(submit_time IS NULL, 1, NULL)) < 5   -- 未完成数小于5
    )
GROUP BY uid
HAVING COUNT(IF(submit_time IS NULL, 1, NULL)) > 1  -- 未完成数大于1
ORDER BY incomplete_cnt DESC;

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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