题解 | 近三个月未完成试卷数为0的用户完成情况
SELECT n.uid, COUNT(n.score) AS exam_complete_cnt # 统计近三个月内的答卷次数
FROM(
SELECT *,
DENSE_RANK() OVER(PARTITION BY uid ORDER BY DATE_FORMAT(start_time, '%Y%m') DESC)
AS ra
FROM exam_record) AS n # 筛选近三个月有答题记录的信息
WHERE n.ra <= 3
GROUP BY n.uid
HAVING COUNT(n.score) = COUNT(n.uid) # 过滤存在未完成试卷的用户
ORDER BY exam_complete_cnt DESC, n.uid DESC;
看了评论区的过滤近三个月存在未完成试卷用户的简便方法,值得学习

