mysql Anzahl Duplikate [geschlossen]

8

Wie kann ich doppelte Zeilen innerhalb einer SELECT-Anweisung zählen

?

Hier ist mein Tisch

%Vor%

Ergebnis sollte wie folgt aussehen:

%Vor%

Ich brauche eine dritte Spalte in der Ergebnismenge, deren Wert count (Name)

sein wird

Vielen Dank im Voraus

    
Novice 14.10.2010, 15:52
quelle

2 Antworten

24

Es ist unklar, was genau Sie tun möchten, also hier zwei Möglichkeiten.

Wenn Sie bestimmen möchten, wie oft die gleiche name und food Kombination auftritt, können Sie GROUP BY verwenden, um ähnliche Datensätze zu gruppieren, und COUNT , um zu bestimmen, wie viele in der Gruppe vorhanden sind:

%Vor%

Wenn Sie möchten, wie oft nur der Name dupliziert wird, benötigen Sie eine Unterabfrage:

%Vor%

Die erste Abfrage gibt nur eine Zeile pro name / food -Gruppe zurück, zusammen mit der Anzahl der Anzahl der Datensätze in der Gruppe. Die zweite Abfrage gibt alle Zeilen mit einer Zählung zurück, wie viele Zeilen in jeder Zeile denselben Namen haben.

    
Daniel Vandersluis 14.10.2010 15:54
quelle
23
%Vor%

Wenn Sie alles zählen wollen, nicht nur die Tupel mit Duplikaten, dann eliminieren Sie die HAVING-Zeile, da dies alles herausfiltert, das keine Duplikate enthält.

    
Marc B 15.10.2010 17:26
quelle

Tags und Links