Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

как да се покаже стойността на колоната само веднъж, ако се повтаря и е празна, докато в sql не дойде различна стойност

Вие можете направете го така:

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

Но както Микаел спомена, това - в повечето случаи - наистина не е начинът, по който трябва да се прави. Само си помислете, че клиентът може например да иска да промени сортирането в категориите, тогава „първият“ ред във всяка категория ще бъде различен.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ADO.NET извикването на T-SQL Stored Procedure причинява SqlTimeoutException

  2. Познайте връзките между всички таблици на базата данни в SQL Server

  3. Календарна таблица за Data Warehouse

  4. Съхранение на файлове в SQL Server

  5. Изтриване от CTE с присъединяване