-1

詳細データなど、[DetailId] ごとに [CreateDate] が大きい [FlowId] を選択するにはどうすればよいですか ここに画像の説明を入力

4

3 に答える 3

1

これを試して

select * from t a
where dt = (select max(dt)
            from T b where a.detailid = b.detailid)
order by 1

SQLデモ

于 2013-09-28T12:07:07.367 に答える
0

SQL Server 2005 以降を想定して、 ROW_NUMBERのようなランキング関数を使用します。

with TopFlow as
(
  select *
    , FlowRank = row_number() over (partition by DetailID
                                   order by [Date] desc, FlowID desc)
  from MyTable
)
select DetailID
  , FlowID
  , [Date]
from TopFlow
where FlowRank = 1

demo を使用した SQL Fiddle

于 2013-09-28T11:59:15.037 に答える
0
select M.*
from MyTable M
inner join 
(
select DetailID,max(Date) Date
from MyTable
Group by DetailID
)T
on M.DetailID=T.DetailID
and M.Date=T.Date
order by M.DetailID

SQL フィドル

于 2013-09-28T12:04:17.600 に答える