Jeśli używasz SQL 2005, możesz zrobić coś takiego...
SELECT rs.Field1,rs.Field2
FROM (
SELECT Field1,Field2, Rank()
over (Partition BY Section
ORDER BY RankCriteria DESC ) AS Rank
FROM table
) rs WHERE Rank <= 10
Jeśli Twoje kryteria rankingowe mają remisy, możesz zwrócić więcej niż 10 wierszy, a rozwiązanie Matta może być dla Ciebie lepsze.