SQL Server,交叉应用和DISTINCT

时间:2015-06-29 15:13:51

标签: sql-server distinct cross-apply

我之前遇到过CROSS APPLY的问题,它解决得很好(Using CROSS APPLY)。

这是另一部分。我希望获得一条最新的CarData行(所有列!),以便在24小时内获得新线路的所有车辆。 正如我所假设的,首先SELECT应该为所有那些在24小时内更新事件的汽车获得不同的CarIndexes,第二个SELECT给出最新的行。 无论如何我不知道在哪里正确放置DISTINCT字,现在我只使用此查询得到CarIndexes而不是CarData行的列表:

SELECT DISTINCT CD.CarIndex FROM [dvm_data].[dbo].[CarData] CD 
CROSS APPLY (
  SELECT TOP 1 * FROM [dvm_data].[dbo].[CarData] WHERE CarIndex = CD.CarIndex ORDER BY ID DESC) MD
WHERE CD.DatetimeOccurred > (GETDATE()-1)

那么,如何使DISTINCT和整行工作?

0 个答案:

没有答案