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

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

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

SELECT uid, COUNT(if(submit_time, NULL, 1)) 	incomplete_cnt, COUNT(if(submit_time, 1, NULL))  complete_cnt, LEFT(REPLACE(GROUP_CONCAT(DISTINCT CONCAT_WS(':', DATE(start_time), tag), ';'), ',', ''), CHAR_LENGTH(REPLACE(GROUP_CONCAT(DISTINCT CONCAT_WS(':', DATE(start_time), tag), ';'), ',', ''))-1) detail
FROM exam_record a
LEFT JOIN examination_info b
ON a.exam_id = b.exam_id
WHERE YEAR(start_time) = 2021
GROUP BY uid
HAVING incomplete_cnt > 1 AND incomplete_cnt<5 AND complete_cnt >= 1
ORDER BY uid DESC

任务:找到用户相关的整合信息

限制:1.2021年

2.uid降序

思路:

根据示例查询字段,未完成的就是没有提交时间的,case when 语句或者if函数即可,完成的就是相反。在最后一个字段,需要用到很多字符函数,可以由小到大,先组配日期和标签,再使用group_concat组配一个分组的全部,之后生成的结果不知道为啥每个都多了一个,,我服了,我的和别人的都是一样的啊,所以我直接replace掉,最后后面多了个;,所以使用left结合字符长度计算函数删除最后一个字符。

这道题涉及很多字符处理函数,如left,replace,group_concat和concat_ws等

全部评论

相关推荐

测试糕手手:社会第一课,随便吹牛逼,直接说四个月,别老实。老实人只会被欺负
点赞 评论 收藏
分享
Rena1ssanc...:对的,要是面评没太烂,勤更新简历等捞就行了,腾讯可以无限复活
点赞 评论 收藏
分享
05-12 17:00
门头沟学院 Java
king122:你的项目描述至少要分点呀,要实习的话,你的描述可以使用什么技术,实现了什么难点,达成了哪些数字指标,这个数字指标尽量是真实的,这样面试应该会多很多,就这样自己包装一下,包装不好可以找我,我有几个大厂最近做过的实习项目也可以包装一下
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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