Мне нужна помощь с SQL.Union all query - нужна последняя дата для каждой группы
я получил 2 таблицы (T1
и T2
), сделал это в 1 таблице (T3
) с помощью 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
Я использую это, чтобы сделать это:
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
Любые предложения?
Привет, до сих пор не работает, когда я использую:
- ВЫБОР GROUPN, ID_Pers, MAX (DateT), как DateT, п ОТ ( SELECT, DateT, GROUPN, ID_Pers, сек от T1 UNION ВСЕ ВЫБОР DateT, GROUPN, ID_Pers, сек от T2 ) T3 GROUP BY ID_Pers, GROUPN, п
Я получаю результат: ГРУППА ID_PERS DateT Sec
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
Двойной результат для ID_Pers 244. Если только показывают один результат для 244.
результат должен быть GROUP ID_PERS DateT Sec
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
Только один результат f или каждой группы и последней дате.
'ВЫБРАТЬ м ax (DateT), GROUP, ID_Pers, Sec ......group by GROUP, ID_Pers, Sec' – artm
@artm поставил ответ, лучше остальных, так как он короткий и сладкий – Edward
@Edward, ответ не работает, все еще проблема – Frankie