NTILE
を使用することもできます スコアを10個のデータグループにグループ化するウィンドウ関数-グループ番号1が最低10%、グループ番号です。 10が上位10%になります:
;WITH Percentile AS
(
SELECT
Score,
ScoreGroup = NTILE(10) OVER(ORDER BY Score)
FROM
test
)
SELECT *
FROM Percentile
WHERE ScoreGroup IN (1, 10)