# 查询昵称以"牛客"+纯数字+"号"或者纯数字组成的用户id select uid from user_info where nick_name rlike '^牛客[0-9]+号$' or nick_name rlike '^[0-9]+$' # 输出以上用户对于字母c开头的试卷类别(如C,C++,c#等)的已完成的试卷ID和平均得分,按用户ID、平均分升序排序。 select ui.uid, er.exam_id, round(avg(score)) avg_score from exam_record er join ( select uid from user_info where nick_name rlike '^牛客[0-9]+号$' or nick_name rlike '^[0-9]+$' ) ui on er.uid = ui.uid join examination_info ei on er.exam_id = ei.exam_id where (tag like 'C%' or tag like 'c%') and score is not null group by ui.uid, er.exam_id order by ui.uid, avg_score;
正则表达式的使用需要掌握,正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。