- 在进行排序测试的时候需要弄清楚一件事, 就是每类试卷每个人 做了不止一次,因此在排序的时候有最大值最小值之分(范围并不是该用户所有试卷)
# SELECT
# tag,
# uid,score
# FROM exam_record
# JOIN examination_info USING(exam_id)
# WHERE uid = "1001"
实例代码如下:
SELECT * FROM
(
SELECT
tag,
uid,
row_number() OVER (PARTITION BY tag ORDER BY MAX(score) DESC,MIN(score) DESC, uid DESC) as rk
FROM exam_record er
JOIN examination_info ei ON er.exam_id=ei.exam_id
GROUP BY tag,uid
) a
WHERE rk < 4