# 一步到位
SELECT
level,
CASE
WHEN score >= 90 THEN '优'
WHEN score >= 75 THEN '良'
WHEN score >= 60 THEN '中'
ELSE '差'
END score_grade,
ROUND(COUNT(*)/SUM(COUNT(*)) OVER(PARTITION BY level),3) ratio
FROM
user_info ui
INNER JOIN
exam_record er
ON ui.uid = er.uid AND score IS NOT NULL
GROUP BY
level,score_grade
ORDER BY
level DESC, ratio DESC

京公网安备 11010502036488号