题解 | #筛选昵称规则和试卷规则的作答记录#

筛选昵称规则和试卷规则的作答记录

https://www.nowcoder.com/practice/1c5075503ccf4de1882976b2fff2c072

这题主要使用正则表达式进行筛选条件。

筛选条件:

1、昵称以"牛客"+纯数字+"号"或者纯数字组成的用户;
(nick_name RLIKE '^牛客[0-9]+号$' OR nick_name RLIKE '^[0-9]+$')

正则表达式函数用 RLIKE 或者 REGEXP;由于"牛客"+纯数字+"号"和纯数字是并集,所以要用()括起来
“^牛客[0-9]+号$ ”:意思是以牛客开头“^牛客”,匹配0-9任意字符一次“[0-9]+”,号结尾“号$”,或者

“^[0-9]+$”:以任意数字开头结尾的用户。


2、c开头的试卷类别(如C,C++,c#等);
tag RLIKE '^[cC]'
匹配指定字符中的任意一个 方括号“[]”指定一个字符集合,只匹配其中任何一个字符,即为所查找的文本。


3、已完成的试卷ID和平均得分。
score IS NOT NULL
ROUND(AVG(score))
完整代码:
SELECT c.uid, c.exam_id, ROUND(AVG(score)) AS avg_score
FROM user_info a JOIN exam_record c USING (uid)
                 JOIN examination_info b USING (exam_id)
WHERE (nick_name RLIKE '^牛客[0-9]+号$' OR nick_name RLIKE '^[0-9]+$')
  AND tag RLIKE '^[cC]'
  AND score IS NOT NULL
GROUP BY c.uid, c.exam_id
ORDER BY c.uid, avg_score;

全部评论

相关推荐

06-26 15:33
青岛工学院 Java
积极的秋田犬要冲国企:他现在邀请我明天面试
点赞 评论 收藏
分享
点赞 评论 收藏
分享
秒拒也太伤人心了
码农索隆:非得字节嘛
投递字节跳动等公司9个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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