-1

我有一个表,其中包括 3 个字段,Machine Name其中 表示将机器分配给项目的确切时间。Project NameDate TimeDate Time

现在我想找到现在在特定项目中的机器(实际上可能是不同时间的一台机器分配给不同的项目)。

我希望持续的特定项目是机器分配给它的最新项目。

4

1 回答 1

0

听起来你可以使用这个:

select t1.ProjectName,
  t2.Datetime,
  t2.MachineName
from yourtable t1
left join
(
  select max(datetime) DateTime, MachineName
  from yourtable
  group by MachineName
) t2
  on t1.machinename = t2.machinename
  and t1.datetime = t2.datetime

甚至:

select projectname, datetime, machinename
from 
(
  select projectname,
    datetime,
    machinename,
    row_number() over(partition by machinename order by datetime desc) rn
  from yourtable
) src
where rn = 1
于 2012-10-31T11:56:15.743 回答