;WITH CTE AS(
SELECT *
,ROW_NUMBER()OVER(ORDER BY ID)RN
FROM TB
)
,CTE2 AS(
SELECT ID,Name,MARK,RN
,ROW_NUMBER()OVER(PARTITION BY (RN-1)/11 ORDER BY MARK)CRN
,COUNT(1)OVER(PARTITION BY (RN-1)/11)C
FROM CTE
)
SELECT ID,Name,MARK,CRN-C/2-C%2
FROM CTE2
ORDER BY (RN-1)/11,CRN DESC如果不满11个呢