私はSQLでいくつかの助けが必要です。ユニオンすべてのクエリ - グループごとに最新の日付が必要
私は、2つのテーブル(T1
とT2
)を得た私はそれを行うには、これを使用union all
T1
DateT GROUP ID_Pers Sec
2016/10/24 13:05:33 840 122 7.75
2016/10/24 11:10:29 840 244 8.4
T2
DateT GROUP ID_Pers Sec
2016/10/24 12:10:37 840 122 7.75
2016/10/25 08:38:59 840 156 7
2016/10/25 09:39:22 840 244 6.7
T3
DateT GROUP ID_Pers Sec
2016/10/24 13:05:33 840 122 7.75
2016/10/24 11:10:29 840 244 8.4
2016/10/24 12:10:37 840 122 7.75
2016/10/25 08:38:59 840 156 7
2016/10/25 09:39:22 840 244 6.7
を使用して1台(T3
)にそれを作った:
SELECT DateT,GROUP, ID_Pers,Sec
FROM
(
SELECT DateT,GROUP, ID_Pers,Sec FROM T1
UNION ALL
SELECT DateT,GROUP, ID_Pers,Sec FROM T2
) T3
GROUP BY ID
は今、私がしたいですこのユニオンにすべてのクエリを追加して、最新のDateT
、Group
、IDPers
、Sec
結果は次のようにする必要があります:
DateT GROUP ID_Pers Sec
2016/10/24 13:05:33 840 122 7.75
2016/10/25 09:39:22 840 244 6.7
2016/10/25 08:38:59 840 156 7
任意の提案ですか?
私が使用している場合、まだ、働いていないこんにちは、 :
- T1 UNION FROM ( SELECT DateT、groupnは、ID_Pers、秒〜DateT、秒としてSELECT groupnは、ID_Pers、MAX(DateT) GROUP ID_PERS DateT秒:ALL SELECT DateT、groupnは、ID_Pers、T2 FROM秒)T3のGROUP BY ID_Pers、groupnは、秒
は私が結果を得ます10 840 122 2016/10/24 13:05:33 7.75 840 156 2016/10/25 8:38:59 7 840 244 2016/10/25 9:39:22 6.7 840 244 2016/10/24 11時10分29秒8.4
のみ秒
840 122 2016年10月24日13:05 GROUP ID_PERS DateTあるべき244
結果に対して1件の結果を示すべきである244 ID_Persダブル結果: 33 7.75 840 156 2016/10/25 8:38:59 7 840 244 2016/10/25 9:39:22 6.7
結果fまたは各グループと最新の日付。
'メートルの選択を助けるかもしれないと思いますax(DateT)、GROUP、ID_Pers、Sec ......グループ別、グループ別、ID_Pers、Sec' – artm
@artm回答は短くて甘いので他のものよりも良い – Edward
@Edward、答えがうまくいかない問題がある – Frankie