我想寫一個SQL查詢,帶回與MAX ID2和MAX DATETIMESQL SELECT MAX()是返回多個記錄
在我目前的結果記錄,
有記錄具有相同nmae和special_number。它們只有ID2和Date_Time。 special_number應該是唯一的並且不重複。如果有重複的特殊號碼,選擇最大ID2和日期時間的記錄
對於重複項(其中有很多),我只需要選擇具有MAx ID2和DATE_TIME的記錄。 例如,ADDEN CROSS,我只需要帶回ID2 = 333和2017-05-05的ADDEN CROSS。
我試圖MAX,但沒有奏效
SELECT DISTINCT ID, NAME, MAX(ID2), SPECIAL_NUMBER and DATE_TIME
FROm TABLE1
WHERE DATE_TIME BETWEEN @START_DATE and @END_DATE
GROUP BY ID, ID2, SPECIAL_NUMBER, DATE_TIME
任何幫助表示讚賞。由於
我目前的結果
ID NAME ID2 SPECIAL_NUMBER DATE_TIME
123 JOE SMITH 456 D123 2017-06-05
123 JOE SMITH 455 D123 2017-06-04
124 JIM DONE 111 E111 2017-06-02
122 ME TOO 222 G111 2017-06-01
146 ADDEN CROSS 333 R555 2017-05-05
146 ADDEN CROSS 332 R555 2017-05-04
146 ADDEN CROSS 331 R555 2017-05-02
我的預期結果
ID NAME ID2 SPECIAL_NUMBER DATE_TIME
123 JOE SMITH 456 D123 2017-06-05
124 JIM DONE 111 E111 2017-06-02
122 ME TOO 222 G111 2017-06-01
146 ADDEN CROSS 333 R555 2017-05-05
如果'ID2'不是具有最新的最新'DATE_TIME'的記錄,可能會給出錯誤的數據,可能是在他的數據中,但有機會。 :) –
@EvaldasBuinauskas OP的聲明「我只需要選擇具有MAX'ID2'和'DATE_TIME'的記錄」意味着兩者在同一記錄上變成了'MAX'。否則,選擇將是不明確的。 – dasblinkenlight