如果重复并且空白直到sql中出现不同的值,如何只显示列值一次

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

在此输入图像描述

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

在此输入图像描述

Kek*_*mau 9

可以这样做:

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)

但正如米卡尔所提到的那样,这在大多数情况下都不是应该做的.例如,只要认为客户可能想要更改类别中的排序,那么每个类别中的"第一"行将是不同的.