Avatar billede thomase Nybegynder
16. oktober 2002 - 01:05 Der er 5 kommentarer og
1 løsning

finde dubleanter i SQL

Hej.
Jeg har en kundebase med 5000 kunder. Jeg ønsker at finde dem der har oprettet sig flere gange. Dog tør jeg ikke slette dubleanterne automatisk så jeg ønsker et recordset der viser der hvor f.eks email er den samme. Dette har jeg halvvejs formået, men jeg vil gerne have en Query der finder det samme som denne, bare unden GROUP BY fo jeg vil gerne se alle de records med den samme mail. Som det er nu ser jeg jo kun een.
"SELECT *, Count(email) FROM kundebase GROUP BY email HAVING Count(email)>1 ORDER BY email"
Avatar billede thomase Nybegynder
16. oktober 2002 - 02:10 #1
med andre ord vil jeg finde alle records hvor eks. feltet email IKKE er distinct
Avatar billede lasse_buck Nybegynder
16. oktober 2002 - 03:07 #2
Nestede select er desværre ikke understøttet før i v. 4.x

Den ene select skal vælge de aktuelle emails:
SELECT email FROM kundebase GROUP BY email having COUNT(*)>1
- Den anden select skal vælge alle rækker fra den viste select.

Måske kan det lade sig gøre at lave en join med de to sætninger, men jeg fik det ikke til at virke.
Avatar billede lasse_buck Nybegynder
16. oktober 2002 - 03:16 #3
Hov, fik ikke antal med:
SELECT email, count(*) AS antal FROM kundebase GROUP BY email having COUNT(*)>1


Hvis det ikke kan lade sige gøre i en sætning, så kan du oprette resultatet af den første select som en tabel og efterfølgende hente de ønskede data med en join af kundebase og temptabel.
Avatar billede thomase Nybegynder
16. oktober 2002 - 10:28 #4
Nogle forslag til andre måder at gøre det på? Den du har lavet ovenfor viser jo kun en af hver dubleant, men det jeg gerne vil er at vise alle records, hvor der er ens emails, men ikke grouped.
Avatar billede dittmer Nybegynder
16. oktober 2002 - 12:03 #5
Kan du ikke lave en midlertidig tabel, der indeholder alle de emailadresser, som lasse buck fandt i den første SELECT-sætning? Så kan du derefter finde alle de linier i din oprindelige tabel, hvor emailadresserne er i den midlertidige tabel (med et passende JOIN).
Avatar billede thomase Nybegynder
31. december 2002 - 04:45 #6
fik det selv løst. lukket!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester