Duplicata possible:
Mysql Duplicate Rows (Duplicata détecté en utilisant 2 colonnes)
Dans une base de données MySQL, j'ai plusieurs lignes. Par exemple:
id | title | time | domain
32 title1 12:30 domain1.com
33 title1 12:30 domain2.com
34 title2 14:20 domain1.com
35 title3 14:30 domain2.com
36 title1 12:30 domain55.com
Comment puis-je sélectionner des lignes dans une base de données en fonction du uniquement titre et de heure? Les domaines ou identifiants en double ne sont pas concernés, seuls les deux autres champs.
Je veux pouvoir récupérer les lignes 32, 33 et 36 car elles ont des titres et des heures identiques.
Je ne veux pas avoir à mettre un titre ou une heure, je veux que la requête renvoie tous les champs où il y a une correspondance "en double" trouvée sur ces deux champs, que ce soit seulement deux ou 50. De cette façon, je peux parcourir et modifiez ou supprimez certains des doublons.
Voici ce que tu veux
SELECT title, time
FROM table
GROUP BY title, time
HAVING count(*) > 1
select distinct id, title, time
from table t1
where exists (select *
from table t2
where t2.id <> t1.id
and t2.title = t1.title
and t2.time = t1.time
)