2 votes

MySQL - recherche de tuples dupliqués

J'ai une table MySQL avec plusieurs champs, et je voudrais trouver toutes les entrées qui dupliquent un tuple.

Je pensais initialement que je pourrais faire ça

select f1, f2, f3 from mytable t1 left join mytable t2 
where t1.f1 = t2.f1 and t1.f2 = t2.f2 and t1.f3 = t2.f3;

Mais j'ai réalisé que cela ne renverrait que toutes les lignes du tableau (je pense).

J'ai construit un index sur le tuple. Ma table contient 1,2 million de lignes, si cela fait une différence.

Mon SQL n'est pas très fort. Aide appréciée.

3voto

scott Points 457

Peut-être quelque chose comme ça :

select f1, f2, f3, count(*)
from mytable
group by f1, f2, f3
having count(*) > 1

J'utilise MS SQL, la syntaxe peut donc être différente.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X