题解 | 完成员工考核试卷突出的非领导员工
完成员工考核试卷突出的非领导员工
https://www.nowcoder.com/practice/422dcd6ae72c49c9bbec1aff90d69806
with avg_record as ( select distinct exam_id, avg(timestampdiff(second,start_time,submit_time)) over ( partition by exam_id ) avg_time, avg(score) over ( partition by exam_id ) avg_score from exam_record ) select er.emp_id, emp_level, tag as exam_tag from exam_record er join avg_record ar using(exam_id) join examination_info exi using(exam_id) join emp_info emi using(emp_id) where timestampdiff(second,start_time,submit_time) < avg_time and score > avg_score and er.emp_id in ( select emp_id from emp_info where emp_level < 7 ) order by er.emp_id,er.exam_id
- datetime相减求秒:timestampdiff(second,start_time,end_time)
求天:timestampdiff(day,start_time,end_time)
- join时如果两个表on条件的column名完全相同,可以用using(column)