sql >> Database >  >> RDS >> Sqlserver

de meest recente record voor elke klant ophalen

;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;

Probeer gereserveerde woorden (en vage kolomnamen) zoals [DATE] . te vermijden ...



  1. Opencart aangepast admin-gebied -> query's die alleen het eerste record van tabellen tonen

  2. 2 manieren om alle door de gebruiker gedefinieerde functies in een SQL Server-database te retourneren

  3. Wat heeft het voor zin om AS-sleutelwoord in SQL te gebruiken als aliasing zonder dit kan?

  4. Hoe pdf en video afzonderlijk in te voegen met een ander tabelveld in php