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?
Vipin Jain
Punkte
5437
Iwan Ross
Punkte
186
Danke an @novocaine für seine tolle Antwort und seine Lösung hat bei mir funktioniert. Ich habe sie leicht abgeändert, um eine Prozentsatz der wiederkehrenden Werte, was in meinem Fall erforderlich war. Nachstehend sehen Sie die geänderte Version. Sie reduziert die Prozentsatz zu zwei Dezimalstellen . Wenn Sie die ,2 auf 0 ändern, werden keine Dezimalstellen angezeigt, und auf 1, dann wird eine Dezimalstelle angezeigt, und so weiter.
SELECT GROUP_CONCAT(id), name, COUNT(*) c,
COUNT(*) OVER() AS totalRecords,
CONCAT(FORMAT(COUNT(*)/COUNT(*) OVER()*100,2),'%') as recurringPecentage
FROM table
GROUP BY name
HAVING c > 1
- See previous answers
- Weitere Antworten anzeigen