Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

T SQL - Красноречива замяна на корелирана подзаявка

Бих го направил с 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. T-SQL:Как да изберете стойности в списъка със стойности, които НЕ са В таблицата?

  2. Директно изпълнение на SQL; без курсор., SQL състояние 01000 в SQLExecDirect

  3. Какво означава =*?

  4. Изберете част от колона

  5. Какво е datetime2?