那你直接在数据集里面排序处理就行了!!
前10名与非前10的
WITH top_students AS (
SELECT
name,
SUM(score) AS total_score,
ROW_NUMBER() OVER (ORDER BY SUM(score) DESC) AS rn
FROM student_score
GROUP BY name
),
top_10_names AS (
SELECT name
FROM top_students
WHERE rn <= 10
)
SELECT 'Other Students' AS name, SUM(score) AS total_score
FROM student_score s
WHERE NOT EXISTS (
SELECT 1 FROM top_10_names t WHERE s.name = t.name
)
GROUP BY 'Other Students'