现在存在一个比赛信息 数据表(matchInfo),里面的字段有
id,MatchName,MatchTime,master,guest,现在是因为写入数据库的时候会出现重复数据,请问一下应该怎么过滤?sql语句怎么写?
select distinct matchtime,matchname,master,guest from matchinfo
通过分组查询可以简单的实现
select * from matchInfo group by MatchName,master,guest
根据这三列做group,然后按你的需求排序,再取第一个
插入的时候也做 重复验证 查询的时候 也group by 这样就可以去重了
插入的时候也做 重复验证 查询的时候 也group by 这样就可以去重了
select distinct 来导出特定的id,再将表内ID不在导出列表的删去就可以实现这个目的。
若可以删除数据,建议直接删除多余数据,如果不能删除,你就使用 distinct 或者 group by 都能实现你要的结果,楼上已经有很多人说, 我就不重复了,
避免发生此类情况,你的数据库没有唯一字段限制,业务层也没有相关的数据重复判断插入,需优化。优化方案,可以添加个唯一列,默认使用主建值,或者业务层处理,有很多方法的