-1

、 の 3 つのフィールドを含むテーブルがあります。 ここではMachine Name、マシンがプロジェクトに割り当てられた正確な時間を示します。Project NameDate TimeDate Time

ここで、現在特定のプロジェクトにあるマシンを検索したいと考えています (実際には、1 台のマシンが別の時間に別のプロジェクトに割り当てられている可能性があります)。

特定のプロジェクトを、マシンが割り当てた最新のプロジェクトにしたい。

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 に答える