mysql 多条数据中,分组获取值最大的数据记录

摘要: 多条纪录中,几个字段相同,但是其中一个或者多个字段不同,则去该字段最大(这里只有一个不同)

源数据:

 

目的是移除:在同一天中只能存在一天数据,则取审核日期最大,数据库脚本如下:

SELECT
    p.BizType,
    pdt.WeekDate,
    pdt.BizDateDtl,
    MAX(p.AuditTime) AuditTime
FROM
    b_bc_personshift p
INNER JOIN b_bc_personshiftdtl pdt ON p.ShiftUUID = pdt.ShiftUUID
WHERE
    p.Isactive = '1'
AND p.`status` = '30'
GROUP BY p.BizType,
    pdt.BizDateDtl,
    pdt.WeekDate
ORDER BY
    p.BizType,
    pdt.BizDateDtl;

得到的目标结果如下:

总结:该方法使用使用函数和分组;也可以使用分组聚合函数group_concat;

   前者简单,快捷;后者纪录少性能高。

原创文章,转发请标明出处。

有任何问题请不吝赐教, 谢谢!

原文地址:https://www.cnblogs.com/lgs-19/p/11737014.html