Вие можете направете го така:
SELECT
CASE WHEN ROW_NUMBER() OVER(PARTITION BY Category ORDER BY BudgetType) = 1
THEN Category ELSE NULL END AS 'Category Caption'
, Category
, BudgetType
FROM yourTable
ORDER BY Category, BudgetType
Но както Микаел спомена, това - в повечето случаи - наистина не е начинът, по който трябва да се прави. Само си помислете, че клиентът може например да иска да промени сортирането в категориите, тогава „първият“ ред във всяка категория ще бъде различен.