共被编辑 1 次

版本 更新时间 贡献者 编辑原因 操作
#r1 10月14日 花和尚撸自身9 创建问题 查看

一对多关联查询如何在分组后只取子表一条数据

数据如下
image.png
现在需要按MFL_ID来分组,取MIN_GetTime最大值的数据,我自己写的sql如下:

SELECT
    MP_FlowInstance.MFL_ID,
    MP_FlowInstance.MFI_DataID,
    MP_InstanceNode.MIN_GetType,
    MAX ( MP_InstanceNode.MIN_GetTime ) as  MIN_GetTime 
FROM
    MP_FlowInstance
    LEFT JOIN MP_InstanceNode ON MP_FlowInstance.MFL_ID = MP_InstanceNode.MFL_ID 
GROUP BY
    MP_FlowInstance.MFL_ID,
    MP_FlowInstance.MFI_DataID,
    MP_InstanceNode.MIN_GetType 
ORDER BY
    MP_FlowInstance.MFL_ID DESC

现在的情况是,如果我不查询MIN_GetType,那么数据就不会有重复的,但是我这里必须要查出MIN_GetType这个字段,则按MIN_GetType分组后就会出现重复数据了