Get top 1 row of each group

后端 未结 20 3092
余生分开走
余生分开走 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:32

    If you're worried about performance, you can also do this with MAX():

    SELECT *
    FROM DocumentStatusLogs D
    WHERE DateCreated = (SELECT MAX(DateCreated) FROM DocumentStatusLogs WHERE ID = D.ID)
    

    ROW_NUMBER() requires a sort of all the rows in your SELECT statement, whereas MAX does not. Should drastically speed up your query.

提交回复
热议问题