题解 | #筛选昵称规则和试卷规则的作答记录#
筛选昵称规则和试卷规则的作答记录
https://www.nowcoder.com/practice/1c5075503ccf4de1882976b2fff2c072
with uid_f_use as ( select uid from user_info where nick_name rlike '^牛客[0-9]{1,}号$' or nick_name regexp '^[0-9]{1,}$' ), exam_f_use as ( select exam_id from examination_info where tag regexp '^[Cc]' ) select uid, exam_id, round(avg(score),0) as avg_score from exam_record where submit_time is not null and exam_id in (select exam_id from exam_f_use) and uid in (select uid from uid_f_use) group by uid, exam_id order by uid, avg_score
正则表达式 regular expression
REGEXP RLike
简单套用总结:
必须用‘ ‘将内空括起来
然后用^和$分别限定前后字符
方括号[ ]里面规定字符类型,大写,小写,数字,特殊符号等,可限定范围,也可具体指定
竖线(我不知道应该叫什么),就是 |, 相当于or,可以用于方括号内部
花括号{ }用于定义前面的字符出现的次数{0, }表示可以出现0个或以上, {1, }表示至少出现一个, {2, 5}表示至少出现两个至多出现5个
刚刚看视频学的,有错误的话欢迎帮助指正,感谢!!!