Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

comment afficher la valeur de la colonne une seule fois si elle est répétée et vide jusqu'à ce qu'une valeur différente vienne en sql

Vous pourriez faites comme ceci :

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

Mais comme Mikael l'a mentionné, ce n'est - dans la plupart des cas - vraiment pas la façon dont cela devrait être fait. Pensez simplement que le client peut, par exemple, vouloir modifier le tri dans les catégories, alors la "première" ligne dans chaque catégorie sera différente.