sql >> Database teknologi >  >> RDS >> Sqlserver

hvordan man kun viser kolonneværdi én gang, hvis den gentages og er tom, indtil der kommer en anden værdi i sql

Du kunne gør det sådan her:

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

Men som Mikael nævnte, er det - i de fleste tilfælde - virkelig ikke sådan, det skal gøres. Tænk bare på, at klienten for eksempel kan ønske at ændre sorteringen inden for kategorierne, så vil den 'første' række inden for hver kategori være en anden.




  1. SQL Server Unik sammensat nøgle af to felter med andet felt automatisk stigning

  2. Kan MySQL-systemdatabasetabellerne konverteres til InnoDB?

  3. SQL Data Definition Language

  4. MySqlCommand Command.Parameters.Add er forældet