sql >> Database teknologi >  >> RDS >> Sqlserver

T SQL - Veltalende erstatning af korreleret underforespørgsel

Jeg ville gøre det med en CTE:

WITH Result AS
(
  SELECT Row_Number() OVER (PARTITION BY ItemId, Year
ORDER BY ItemversionId DESC) AS RowNumber
      ,ItemId
      ,ItemversionId
      ,Year
      ,Value
  FROM table
)
SELECT ItemId
  ,ItemversionId
  ,Year
  ,Value
FROM Result
WHERE RowNumber = 1
ORDER BY ItemId, Year


  1. Mysql:Vis værdier af kolonne under en anden kolonne

  2. Sådan springer du rækker over, der overtræder begrænsninger, når du indsætter data i SQLite

  3. MICROSECOND() Eksempel – MySQL

  4. Hvordan henter man almindelige poster i den samme databasetabel gennem en enkelt SQL-forespørgsel?