我写了以下查询:
SELECT DateTime, configId, rowId
FROM linkedTableDefinition a,
INNER JOIN tableDefinition b,
ON a.Target = b.Id
INNER JOIN ViewWithInfo c,
ON a.Target = c.Id
这给出了以下输出:
DateTime configId rowId
12-09-2013 11:00 4 12
12-09-2013 12:00 4 12
12-09-2013 13:00 3 11
12-09-2013 12:00 3 11
12-09-2013 11:00 4 11
我需要这个输出如下:每个 rowId 和 configId 组合我需要 datetime 列中的最大值。因此,从上面的示例中,我想要以下输出:
DateTime configId rowId
12-09-2013 12:00 4 12
12-09-2013 13:00 3 11
12-09-2013 11:00 4 11
有人知道答案吗?我想避免使用 GROUP BY,因为 select 语句将使用更多列进行扩展。
提前致谢
编辑 当前查询:
SELECT testResults.ResultDate, testResults.ConfigurationId, TestResultsTestCaseId
FROM dbo.FactWorkItemLinkHistory workItemLink
INNER JOIN dbo.DimWorkItem workItem
ON workItem.System_Id = workItemLink.TargetWorkItemID
INNER JOIN dbo.TestResultView testResults
ON testResults.TestCaseId = workItemLink.TargetWorkItemID
WHERE
RemovedDate = convert(datetime, '9999-01-01 00:00:00.000')
AND workItemLink.SourceWorkItemID = 7
AND workItem.System_WorkItemType = 'Test Case'