标签:cgi group extend 数据库 cell base SQL 重复记录 data
背景:存数据的时候多存了,导致数据重复
思路:group by 对重复的字段进行分组,重复意味着group by count的结果大于1,将count大于1的字段的最小id保留,其余删除
语句
delete from base_cell_extend where data_category =6 and data_key='device_num' and
cgi in (select cgi from base_cell_extend where data_category =6 and data_key='device_num' group by cgi having count(cgi) > 1 )
and base_cell_extend.id not in (select min(base_cell_extend.id) from base_cell_extend where data_category =6 and data_key='device_num' group by cgi having count(cgi) > 1 );
注意:最好还是能够在删除之前先select,并且计算一下删除后的数据总数是否正确,再进行delete
标签:cgi,group,extend,数据库,cell,base,SQL,重复记录,data 来源: https://blog.csdn.net/CHERISHGF/article/details/122923075
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。