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

Bỏ qua đầu ra của các giá trị giống nhau trong các hàng tiếp theo

DECLARE @tblABC TABLE
(
    SrNo INT, [Date] DATETIME, BillNo CHAR(5), Amount DECIMAL(10,2)
);

INSERT @tblABC SELECT 1,'20120210','VAT-1',1200.00
UNION ALL SELECT 2,'20120210','RET-4',50.00
UNION ALL SELECT 3,'20120210','RET-5',150.50
UNION ALL SELECT 4,'20120211','VAT-2',1500.00
UNION ALL SELECT 5,'20120211','RET-6',2505.00
UNION ALL SELECT 6,'20120212','VAT-3',05.00;

;WITH x AS 
(
  SELECT SrNo, [Date] = REPLACE(CONVERT(CHAR(10), [Date], 103), '/', '-'), 
    BillNo, Amount, rn = ROW_NUMBER() OVER (PARTITION BY [Date] ORDER BY SrNo)
    FROM @tblAbC
)
SELECT SrNo, [Date] = CASE rn WHEN 1 THEN [Date] ELSE '' END, BillNo, Amount
  FROM x 
  ORDER BY SrNo;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server - nối các hàng thành danh sách được phân tách bằng dấu phẩy

  2. Không thể lưu dữ liệu mảng byte [] vào cơ sở dữ liệu trong C #. Nó tiết kiệm 0x

  3. Được phân cụm và không được phân cụm

  4. Chọn hàng đầu tiên cho mỗi nhóm

  5. Làm cách nào để đặt lược đồ mặc định của cơ sở dữ liệu trong SQL Server 2005?