Har ett problem med att formulera en SQL-fråga. Jag vill få ut en lista med alla dubletter i min tabell, d.v.s. en slags "motsats" till DISTINCT.
Säg att jag har en tabell kunder som ser ut så här:
Kod:
id fornamn efternamn adress telefon
1 Olle Karlsson ... ...
2 Pelle Nilsson ... ...
3 Kalle Nilsson ... ...
4 Olle Karlsson ... ...
5 Pelle Karlsson ... ...
6 Kalle Olsson ... ...
7 Kalle Nilsson ... ...
8 Olle Karlsson ... ...
Då skulle jag vilja få ut raderna 1, 3, 4, 7, 8, eftersom dessa personer (förnamn + efternamn) förekommer mer än en gång i tabellen. (Det spelar alltså ingen roll om adress och telefon är samma eller inte.)
Jag kan komma på en fråga som denna
Kod:
SELECT DISTINCT CONCAT(fornamn, " ", efternamn) AS namn, COUNT(*) AS antal FROM kunder GROUP BY namn HAVING antal > 1
för att plocka ut de namn som förekommer mer än en gång i tabellen. Problemet är bara att denna fråga ger mig ett resultat som
Kod:
Olle Karlsson
Kalle Nilsson
när vad jag är ute efter är hela tabellraderna, eller åtminstone id-numren på alla förekomster.
Någon som har något tips?