mysql, doppelte einträge mit Angaben
Ferdi
- datenbank
Hi,
doppelte Einträge finde ich so:
SELECT Spielernummer, COUNT(*) AS zaehler
FROM table
GROUP BY Spielernummer
HAVING zaehler > 1
ORDER BY zaehler DESC
Was muß ich ändern, um die jeweiligen Spalten "Nachname" zu der doppelt vergebenen Spielernummer zu erhalten?
Grüße, Ferdi
Hi,
SELECT Spielernummer, COUNT(*) AS zaehler
FROM table
GROUP BY Spielernummer
HAVING zaehler > 1
ORDER BY zaehler DESC
>
> Was muß ich ändern, um die jeweiligen Spalten "Nachname" zu der doppelt vergebenen Spielernummer zu erhalten?
Das grundsätzliche Vorgehen - denn Spalten, die nicht im GROUP BY auftauchen (und nicht Ergebnis einer Aggregatfunktion sind), kannst du in diesem SELECT nicht mit auslesen.
Also etwas mit JOINs oder Subquery überlegen.
MfG ChrisB
--
Light travels faster than sound - that's why most people appear bright until you hear them speak.
Hi,
SELECT Spielernummer, COUNT(*) AS zaehler
FROM table
GROUP BY Spielernummer
HAVING zaehler > 1
ORDER BY zaehler DESC
> >
> > Was muß ich ändern, um die jeweiligen Spalten "Nachname" zu der doppelt vergebenen Spielernummer zu erhalten?
>
> Das grundsätzliche Vorgehen - denn Spalten, die nicht im GROUP BY auftauchen (und nicht Ergebnis einer Aggregatfunktion sind), kannst du in diesem SELECT nicht mit auslesen.
>
> Also etwas mit JOINs oder Subquery überlegen.
>
> MfG ChrisB
>
>
OK. Ich seh ein, das ist zu schwer für mich bzw. für uns alle hier.
Trotzdem Grüße, Ferdi
Hi,
SELECT Spielernummer, COUNT(*) AS zaehler
FROM table
GROUP BY Spielernummer
HAVING zaehler > 1
ORDER BY zaehler DESC
> > >
> > > Was muß ich ändern, um die jeweiligen Spalten "Nachname" zu der doppelt vergebenen Spielernummer zu erhalten?
> > Also etwas mit JOINs oder Subquery überlegen.
> OK. Ich seh ein, das ist zu schwer für mich bzw. für uns alle hier.
So schwer ist das auch wieder nicht.
[In der Doku](http://dev.mysql.com/doc/refman/5.1/en/any-in-some-subqueries.html) steht wie man Subqueries verwendet.
Die Abfrage die dir alle doppelten Spielernummern liefert hast du ja schon.
Jetzt brauchst du noch eine Abfrage drum herum, die nur die Nachnamen ausgibt, die eine Nummer haben, die von deiner Abfrage geliefert wird.
Du brauchst dann in etwa so ein Konstrukt:
`SELECT name FROM tabelle where nummer in (abfrageDieDieEntsprechendenNummernLiefert);`{:.language-sql}
mfG,
steckl
Du brauchst dann in etwa so ein Konstrukt:
SELECT name FROM tabelle where nummer in (abfrageDieDieEntsprechendenNummernLiefert);
mfG,
steckl
Hi Steckl,
danke, der Tip hat mir geholfen, nun hab ichs. :-)
Grüße