Jedną z opcji byłoby
SELECT id,
h,
n,
q
FROM (
SELECT id,
h,
n,
q,
row_number() over (partition by decile order by id, n) rn
FROM (
SELECT id,
h,
n,
q,
ntile(10) over (order by id, n) decile
FROM your_table
)
)
WHERE rn = 1
Prawdopodobnie istnieje bardziej wydajne podejście przy użyciu PERCENTILE_DISC
lub CUME_DIST
to mi w tej chwili nie działa. Ale to powinno działać.