次のような一時テーブル (#TempTable) があります。
AID StartTime EndTime StartSID EndSID Name
79F05D45 2013-07-02 2013-07-03 1226349 1227338
79F05D45 2013-07-03 2013-07-03 1227381 1227901
79F05D45 2013-07-03 2013-07-03 1233976 1233977 John Pringle
79F05D45 2013-07-03 2013-07-03 1234386 1234452
79F05D45 2013-07-03 2013-07-03 1235138 1235147
79F05D45 2013-07-03 2013-07-03 1235669 1235708 Mike Gordon
79F05D45 2013-07-03 2013-07-03 1235828 1239004 Jeff Smith
Nameで Aggregate 関数を使用して、 GROUP BY
StartTimeとEndTimeのときにName列にJohn Pringleを取得するにはどうすればよいですか(使用してみましたが、空白の値が返され、使用するとJeff Smithが得られます)MIN(Name)
MAX(Name)
基本的に、私の要件は、列Nameで最初に利用可能な値を取得することです
ここに私のクエリがあります:
SELECT
TT.AID,
MIN(StartTime) as StartTime,
MAX(EndTime) as Endtime,
MIN(StartSSID) as StartSID,
MAX(EndSSID) AS EndSID,
-- I tried MIN(Name) here but I get empty cell, MAX(Name) gives wrong result. Basically I want first available value in the Name column here (which is John Pringle).
FROM
#TempTable TT
GROUP BY TT.AID, StartTime, EndTime
私が得る結果:
AID StartTime EndTime StartSID EndSID Name
79F05D45 2013-07-02 2013-07-03 1226349 1227338
79F05D45 2013-07-03 2013-07-03 1227381 1239004
私が目指している結果:
AID StartTime EndTime StartSID EndSID Name
79F05D45 2013-07-02 2013-07-03 1226349 1227338
79F05D45 2013-07-03 2013-07-03 1227381 1239004 John Pringle
ありがとう!