Pra*_*shi 1 sql t-sql sql-server sql-server-2008

我们有一个包含类别和预算类型列的简单表格如上图所示我想只显示一次CATEGORY而代替下两个CATEGORY当我使用select*query时会有这样的空白.

你可以这样做:
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
Run Code Online (Sandbox Code Playgroud)
但正如米卡尔所提到的那样,这在大多数情况下都不是应该做的.例如,只要认为客户可能想要更改类别中的排序,那么每个类别中的"第一"行将是不同的.