Ich habe eine Tabelle mit einer varchar-Spalte und möchte alle Datensätze finden, die doppelte Werte in dieser Spalte haben. Was ist die beste Abfrage, die ich verwenden kann, um die Duplikate zu finden?
Antworten
Zu viele Anzeigen?
TechTravelThink
Punkte
2894
AbsoluteƵERØ
Punkte
7645
Unter @maxyfc's Antwort weiter, ich musste finden alle der Zeilen, die mit den doppelten Werten zurückgegeben wurden, damit ich sie in MySQL-Workbench :
SELECT * FROM table
WHERE field IN (
SELECT field FROM table GROUP BY field HAVING count(*) > 1
) ORDER BY field
strustam
Punkte
121
user5599549
Punkte
119
Jonathan
Punkte
267
Meine endgültige Abfrage enthielt einige der hier gegebenen Antworten, die hilfreich waren - die Kombination von group by, count & GROUP_CONCAT.
SELECT GROUP_CONCAT(id), `magento_simple`, COUNT(*) c
FROM product_variant
GROUP BY `magento_simple` HAVING c > 1;
Dies liefert die Kennung der beiden Beispiele (durch Komma getrennt), den benötigten Strichcode und die Anzahl der Duplikate.
Ändern Sie Tabelle und Spalten entsprechend.