我需要一些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
有什么建议?
嗨, 仍然没有工作,当我使用:
- SELECT GROUPN,ID_Pers,MAX(DateT)作为DateT,证券交易委员会 ( SELECT DateT,GROUPN,ID_Pers,证券交易委员会T1 UNION ALL SELECT DateT,GROUPN,ID_Pers,证券交易委员会T2 )T3 GROUP BY ID_Pers,GROUPN二段
我得到的结果: GROUP ID_PERS DateT秒
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
结果应该是 集团ID_PERS DateT秒
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或每个组和最新日期。
'选择M. ax(DateT),GROUP,ID_Pers,Sec ......按组,ID_Pers组,Sec' – artm
@artm把作为答案,比别人更好,因为它的短期和甜 – Edward
@Edward,答案不工作仍然有问题 – Frankie