Bạn có thể làm như thế này:
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
Nhưng như Mikael đã đề cập, điều này - trong hầu hết các trường hợp - thực sự không phải là cách nên làm. Chỉ cần nghĩ rằng khách hàng có thể, chẳng hạn, muốn thay đổi cách sắp xếp trong các danh mục, thì hàng 'đầu tiên' trong mỗi danh mục sẽ là một hàng khác.