如何 select 每个 ID 在 SQL 中的最后一个条目
How to select last entry per ID in SQL
我有一个大日志 table 有 200 万行。
我正在寻找每个 ID 的最后一个条目。
重要的 3 列是
- 用户名
- 动作类型
- 动作时间
- 文本 2
有些用户 ID 出现了数千次,有些只出现了一次。我需要每个用户 ID 的最新版本。我尝试使用 'Group By' 但它不起作用,因为每个条目的 text2 都不同,而这正是我需要的数据。所以需要按actiontime排序,actiontype需要103。我真的很茫然怎么办。
如有任何帮助,我们将不胜感激。
Select B.*
From (
Select UserID,ActionTime=max(ActionTime)
From SomeTable
Group By UserID
) A
Join SomeTable B on A.UserID=B.UserID and A.ActionTime=B.ActionTime
我有一个大日志 table 有 200 万行。
我正在寻找每个 ID 的最后一个条目。
重要的 3 列是
- 用户名
- 动作类型
- 动作时间
- 文本 2
有些用户 ID 出现了数千次,有些只出现了一次。我需要每个用户 ID 的最新版本。我尝试使用 'Group By' 但它不起作用,因为每个条目的 text2 都不同,而这正是我需要的数据。所以需要按actiontime排序,actiontype需要103。我真的很茫然怎么办。
如有任何帮助,我们将不胜感激。
Select B.*
From (
Select UserID,ActionTime=max(ActionTime)
From SomeTable
Group By UserID
) A
Join SomeTable B on A.UserID=B.UserID and A.ActionTime=B.ActionTime