Get top 1 row of each group

后端 未结 20 2988
余生分开走
余生分开走 2020-11-21 04:42

I have a table which I want to get the latest entry for each group. Here\'s the table:

DocumentStatusLogs Table

|ID| DocumentID | Status         


        
20条回答
  •  梦如初夏
    2020-11-21 05:34

    Try this:

    SELECT [DocumentID]
        ,[tmpRez].value('/x[2]', 'varchar(20)') AS [Status]
        ,[tmpRez].value('/x[3]', 'datetime') AS [DateCreated]
    FROM (
        SELECT [DocumentID]
            ,cast('' + max(cast([ID] AS VARCHAR(10)) + '' + [Status] + '' + cast([DateCreated] AS VARCHAR(20))) + '' AS XML) AS [tmpRez]
        FROM DocumentStatusLogs
        GROUP BY DocumentID
        ) AS [tmpQry]
    

提交回复
热议问题