WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Plocka ut identiska rader i MySQL (https://www.wn.se/forum/showthread.php?t=8899)

etanders 2005-07-15 01:32

Jag har en tabell i MySQL som bl.a. innehåller en kolumn med efternamn och en med förnamn. Nu vill jag plocka ut de rader där för- och efternamn är identiska. Alltså inte om förnamnet är identiskt med efternamnet, utan om t.ex. Erik Eriksson förekommer på flera rader.

Provade först att hämta hela tabellen (sorterad förstås) och sedan med php testa varje rad och se om för- och efternamnet var identiskt med föregående rad. Men måste man verkligen hämta hela tabellen till php? Finns det inget bra sätt att låta MySQL göra jobbet direkt? Någon slags motsvarighet till DISTINCT som tar ut dubletter istället - finns det?

eg0master 2005-07-15 07:39

Having borde väl funka:
Kod:

select first_name, last_name, count(*) as cnt
from table
group by first_name, last_name
having cnt > 1

Alternativt:
Kod:

select distinct t1.first_name, t1.last_name
from table t1, table t2
where t1.id != t2.id
and t1.first_name = t2.first_name
and t1.last_name = t2.last_name



Alla tider är GMT +2. Klockan är nu 21:50.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson