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

Jak uzyskać ostatni rekord na grupę w SQL?

Możesz użyć funkcji rankingowej oraz wspólne wyrażenie tabelowe .

WITH e AS
(
     SELECT *,
         ROW_NUMBER() OVER
         (
             PARTITION BY ApplicationId
             ORDER BY CONVERT(datetime, [Date], 101) DESC, [Time] DESC
         ) AS Recency
     FROM [Event]
)
SELECT *
FROM e
WHERE Recency = 1


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Piętro data w serwerze SQL

  2. Jak odwołać się do jednego CTE dwukrotnie?

  3. Znajdź wszystkie kolumny określonego typu we wszystkich tabelach w bazie danych SQL Server

  4. SQL Server 2008 R2 — Dynamic Pivot/Unpivot z (przenoszeniem) dat

  5. Czy istnieje sposób na określenie nazwy tabeli jako ciągu?