Acerca de la eliminación de datos duplicados en la base de datos mysql

  • Para pequeños problemas y grandes detalles, consulte el artículo:
  • La atención se centra en el segundo vínculo. La idea del primer vínculo es buena, pero el segundo método y el resumen son mejores.
  • https://www.cnblogs.com/luyingfeng/p/5772262.html
  • https://www.cnblogs.com/liyue-sqsf/p/9076902.html

La tabla es la siguiente:
Inserte la descripción de la imagen aquí

DELETE from S_score2 where id IN (
-- 	这里再加 一个 select 语句,因为 
--  警告:不能根据本表的查询结果来更新本表的数据,所以给表起个别名
	select * from (
		SELECT id from S_score2 
		where 
		(姓名, 课程) in
		(SELECT 姓名, 课程 FROM S_score2 GROUP BY 姓名, 课程 HAVING COUNT(*) > 1)
		and 
		id not in (SELECT min(id) from S_score2 GROUP BY 姓名, 课程 HAVING count(*)> 1)
) as stu_score

);
para resumir:

Esta pregunta parece simple. Pensé en muchas soluciones, y lo pensé durante mucho tiempo ~ No diré mucho. Todos, miren los dos enlaces cuidadosamente, y es mejor implementarlos a su manera.
el fin.

Supongo que te gusta

Origin blog.csdn.net/pythonstrat/article/details/111598992
Recomendado
Clasificación