考虑 SQL Server 2008 中的以下数据库表:
ActionID (PK) ActionType ActionDate UserID ContentID
1 'Create' '2013-05-26 18:40:00' 1 10
2 'Create' '2013-05-26 18:30:00' 2 10
3 'Edit' '2013-05-26 12:30:00' 5 12
4 'Edit' '2013-05-26 12:25:00' 5 12
5 'Delete' '2013-05-26 12:22:00' 6 12
我想编写一个 SQL 查询,该查询按ContentID
和分组,ActionType
但ActionDate
返回最新的行并忽略其他行,即使它们具有不同UserID
或其他列值。
所以它应该返回的是:
ActionID (PK) ActionType ActionDate UserID ContentID
1 'Create' '2013-05-26 18:40:00' 1 10
3 'Edit' '2013-05-26 12:30:00' 5 12
5 'Delete' '2013-05-26 12:22:00' 6 12
但我不太清楚如何编写查询来做到这一点。