Doppelte Einträge zweier Spalten finden
Richi
- datenbank
Hi,
was muss ich an
SELECT `name` , `zuname` , COUNT( * ) AS Anzahl
FROM tab
GROUP BY name
HAVING COUNT( * ) >1
ändern, um nur die User zu finden, bei denen name und zuname identisch sind?
Grüße, Richard
Hi!
was muss ich an
SELECT name
, zuname
, COUNT( * ) AS Anzahl
FROM tab
GROUP BY name
HAVING COUNT( * ) >1
>
> ändern, um nur die User zu finden, bei denen name und zuname identisch sind?
SELECT ... FROM ... WHERE name = zuname
Aber das wirst du nicht gemeint haben. Du willst vermutlich Datensätze haben, deren name und zuname in der Kombination auch in anderen Datensätzen vorkommt. Erweitere GROUP BY um zuname.
Lo!
Aber das wirst du nicht gemeint haben. Du willst vermutlich Datensätze haben, deren name und zuname in der Kombination auch in anderen Datensätzen vorkommt. Erweitere GROUP BY um zuname.
Hi dedlfix,
bezieht sich denn HAVING immer auf GROUP BY?
Grüße, Richard
Hi!
bezieht sich denn HAVING immer auf GROUP BY?
Jein, HAVING ist eine Art zweites WHERE. Allerdings kann HAVING in einigen DBMS nicht ohne GROUP BY verwendet werden. Speziell wenn man GROUP BY verwendet, kann man im WHERE nicht alle Bedingungen aufführen, denn WHERE arbeitet vor der Gruppierung und einige Daten, wie zum Beispiel die Anzahl je Gruppe, stehen erst nach der Gruppierung zur Verfügung. Und dann kommt HAVING zum Einsatz und kann an der gruppierten Menge noch weiter filtern.
Lo!