Avatar billede kratluskeren Nybegynder
19. januar 2004 - 00:08 Der er 9 kommentarer og
2 løsninger

MySQL: kontrollere om alle poster i en tabel er unikke

Hej
Jeg har en database med 7.000 emailadresser.
Nu vil jeg gerne kontrollere om de alle er forskellige, eller om nogle går igen.
Er der en smart SQL sætning der kan klare den?

Alternativt skal jeg lave lidt ASP kode, der kører hele listen igennem og kontrollerer for hver af dem.
Det ville ikke være noget problem, men vil gerne lære mere om SQL :)
Avatar billede erikjacobsen Ekspert
19. januar 2004 - 00:12 #1
select count(email) antal1 from tabel
select count(distinct email) as antal2 from tabel

Er de to tal ens, er der ikke dubletter
Avatar billede kratluskeren Nybegynder
19. januar 2004 - 00:17 #2
nåja klart :)
...hvordan får jeg den så til at vise dem der er dubletter?
Avatar billede simonvalter Praktikant
19. januar 2004 - 00:19 #3
SELECT email, count(*) AS total FROM mail GROUP BY email HAVING total>1;

kunne måske også bruges
Avatar billede Slettet bruger
19. januar 2004 - 00:19 #4
SELECT email, COUNT(*) AS counter FROM table GROUP BY email HAVING counter > 1

Vil give dig alle de adresser, der optræder flere gange.

Du kan jo iøvrigt overveje at gøre email kolonnen UNIQUE (når du har fjernet dubletter). Så der ik i fremtiden kan være dubletter.
Avatar billede erikjacobsen Ekspert
19. januar 2004 - 00:27 #5
Jah, kratluskeren, men det var jo det du spurgte om ;)
Avatar billede kratluskeren Nybegynder
19. januar 2004 - 00:27 #6
snedigt, den kendte jeg ikke.
Systemet er sikret så ikke der kommer dubletter i fremtiden.

Smid et svar så overfører jeg points.
Avatar billede simonvalter Praktikant
19. januar 2004 - 00:31 #7
erik tager ikke imod point og mercur8's svar var bedre end mit så det må blive ham der skal snuppe dem.
Avatar billede Slettet bruger
19. januar 2004 - 00:35 #8
loadet: Du var da ellers først med samme SQL.

Anyways, her er et svar. Det skal vi da ik skændes om :)
Avatar billede kratluskeren Nybegynder
19. januar 2004 - 17:41 #9
Kan I ikke smide et svar begge to, så deler jeg dem
Avatar billede simonvalter Praktikant
19. januar 2004 - 21:09 #10
ok så siger vi det ;)
Avatar billede kratluskeren Nybegynder
27. januar 2004 - 19:09 #11
Har lige et tillægs-spørgsmål.
Vil gerne give 50 points for det hvis det kan lade sig gøre.

Kan jeg få den til at udskrive ALLE posterne - nu bliver de grupperet efter mail:

Dvs:
mail1@mail.dk
mail1@mail.dk
mail1@mail.dk
mail2@mail.dk
mail2@mail.dk
mail3@mail.dk
mail3@mail.dk
mail3@mail.dk
mail3@mail.dk

------
mail4@mail.dk
mail5@mail.dk

De to sidste optræder kun 1 gang, så disse bliver ikke udskrevet.
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
Kurser inden for grundlæggende programmering

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