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

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

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

select uid,
sum(case when submit_time is null then 1 else 0 end)/*count(start_time)-count(submit_time)*/ 
as incomplete_cnt,
sum(case when submit_time is not null then 1 else 0 end)/*count(submit_time)*/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 ei.exam_id=er.exam_id
where year(start_time)=2021
group by uid
having incomplete_cnt >1 and incomplete_cnt <5 and complete_cnt>=1
order by incomplete_cnt desc
;

学习到了GROUP_CONCAT(DISTINCT expression ORDER BY expression SEPARATOR sep) 的用法。

对此题,先将日期和tag组合,再利用此函数将结果连接起来,并用';'分割。

全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 17:46
暑期就挂了,秋招还有机会吗
大聪明777:研发提前批,14号刚开的,官网上面的配图上有写。提前批没过的话,秋招还可以投,不过前面的笔试/面试记录会被保留,供秋招参考
投递拼多多集团-PDD等公司10个岗位
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-10 11:31
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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