摘要: 多條紀錄中,幾個字段相同,但是其中一個或者多個字段不同,則去該字段最大(這里只有一個不同)
源數據:
目的是移除:在同一天中只能存在一天數據,則取審核日期最大,數據庫腳本如下:
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;
前者簡單,快捷;后者紀錄少性能高。
原創文章,轉發請標明出處。
有任何問題請不吝賜教, 謝謝!