Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

pobrać najnowszy rekord dla każdego klienta

;WITH x AS 
(
    SELECT ID, NAME, [DATE], 
      rn = ROW_NUMBER() OVER 
      (PARTITION BY NAME ORDER BY [DATE] DESC)
    FROM @TESTABLE
)
SELECT ID, NAME, [DATE] FROM x WHERE rn = 1
  ORDER BY [DATE] DESC;

Staraj się unikać zastrzeżonych słów (i niejasnych nazw kolumn), takich jak [DATE] ...



  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 Wyświetl klucz podstawowy

  2. MS SQL Server:Sprawdź, czy użytkownik może wykonać procedurę składowaną

  3. mapowanie hibernacji datetimeoffset

  4. Pole dostawcy w ciągu połączenia oledb

  5. ZAMÓW WEDŁUG DATY wyświetlając najpierw NULL, a następnie najnowsze daty