选择基于“有”的组的单个记录

时间:2016-02-19 05:46:40

标签: sql-server-2008-r2

enter image description here

我有一个表格说“T1”,我必须从中选择一条最后一位用户更新过的记录。预期结果应该有点像: -

enter image description here

2 个答案:

答案 0 :(得分:0)

你可以试试这个。

SELECT X.* FROM T1 X
WHERE X.updatedDateTime=(SELECT MAX(updatedDateTime) FROM Temp WHERE temp.userID = T1.userID)

答案 1 :(得分:0)

由于您需要每个事务的最新DATETIME(基于回复另一个答案的注释),您实际上希望能够检索多个记录 - 您希望为每个transactionID组检索一个:< / p>

SELECT transactionID, userID, MAX(updatedDateTime) AS MostRecent
FROM T1
GROUP BY transactionID

这适用于包含其他transactionID的测试数据。如果该网站适合我,我会添加一个SQLFiddle。 。 。