MySQL 多条件去重
1、数据表说明及问题描述
假定有包含frameid, terminalnumber, timepoint, value 等字段的table_a表,当frameid, terminalnumber, timepoint三个值相同时保留value值最小的数据行。
frameid | terminalnumber | timepoint | value |
---|---|---|---|
a | t1 | 2019-09-09 12:12:12 | 1 |
a | t1 | 2019-09-09 12:12:12 | 2 |
b | t2 | 2019-09-09 12:12:13 | 3 |
2、解决方案-MySQL 代码
使用子查询方法,经测试18,000,000条数据去重耗时246秒,该值仅供参考,根据不同的数据量会有不同的时间消耗。
//remove duplicate data by (frameid & terminalnumber & timepint)
delete
from table_a
where value in