Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

cách hiển thị giá trị cột chỉ một lần nếu nó được lặp lại và để trống cho đến khi giá trị khác xuất hiện trong sql

Bạn có thể làm như thế này:

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

Nhưng như Mikael đã đề cập, điều này - trong hầu hết các trường hợp - thực sự không phải là cách nên làm. Chỉ cần nghĩ rằng khách hàng có thể, chẳng hạn, muốn thay đổi cách sắp xếp trong các danh mục, thì hàng 'đầu tiên' trong mỗi danh mục sẽ là một hàng khác.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tuyên bố Trường hợp Sử dụng trong Tham gia

  2. Sắp xếp SQL chuỗi số sau khi tách

  3. Nhận mọi thứ sau và trước ký tự nhất định trong SQL Server

  4. Tạo lịch biểu tác nhân SQL Server với T-SQL

  5. SQL Cách cập nhật SUM của cột qua nhóm trong cùng một bảng