题解 | #未完成试卷数大于1的有效用户#
未完成试卷数大于1的有效用户
https://www.nowcoder.com/practice/46cb7a33f7204f3ba7f6536d2fc04286
with cte_m as
(select
distinct a.*,b.tag
from
exam_record a
left join examination_info b
on a.exam_id = b.exam_id
where substring(start_time,1,4)='2021')
select
uid,
count(start_time)-count(submit_time) as incomplete_cnt,
count(submit_time) as cnt_d,
group_concat(distinct concat_ws(':',date(start_time),tag) separator ';') as detail
from cte_m
group by uid
having cnt_d >=1 and incomplete_cnt <5 and incomplete_cnt>1
order by incomplete_cnt desc;
先创建一个临时表cte_m,方便后续查询。接着对查询出有效用户uid=1002。这里用到了一个聚合函数group_concat(字段名 separator '分隔符'),对一个分组中的值进行组合。
快手公司福利 1244人发布