Avatar billede bugger2 Nybegynder
18. november 2013 - 12:32 Der er 3 kommentarer og
1 løsning

SQL Finde antal udgaver med flere ens telefonnumre

Hejsa
Min database ser (forenklet) således ud:
tlf.nr Navn
12345678 Peter Hansen
87555657 Niels Jensen
12345678 Oda Petersen
78798081 Ove Hansen
45464748 Inga Jensen
78798081 Don Pedro
12345678 Lille Ida

Jeg vil nu lave et udtræk fra databasen på alle telefonnumre og navne hvor telefonnummeret figurerer mere end én gang. I tilfældet her skal udtrækket vise:
12345678 Peter Hansen
12345678 Oda Petersen
12345678 Lille Ida
78798081 Ove Hansen
78798081 Don Pedro
men IKKE 45464748 og 87555657 som der jo kun er en forekomst af.

How to do?
Avatar billede cht22 Professor
18. november 2013 - 13:44 #1
Det ser ud til at være det samme som:
http://www.eksperten.dk/spm/988242
Avatar billede bugger2 Nybegynder
18. november 2013 - 15:32 #2
#cht22
Nej det er nu ikke helt det samme. I det ene spørgsmål bede jeg om at få listet alle de numre hvor der er mere end en forekomst, i det andet spørgsmål om at få en sammentælling af antallet.

Jeg kikker på dit svar lidt senere.
Avatar billede cht22 Professor
18. november 2013 - 16:45 #3
Ja, beklager så har jeg nok byttet rundt på dem. Til den her kan du bruge:


CREATE VIEW vis as SELECT *,count(tlfnr) as count FROM `dintabel` group by tlfnr;

SELECT * FROM vis
JOIN dintabel
ON vis.tlfnr=dintabel.tlfnr WHERE vis.count>1 order by vis.tlfnr;


Hvis du vil slettet en VIEW kan du bruge:


DROP VIEW vis;
Avatar billede Slettet bruger
18. november 2013 - 19:52 #4
Som også svaret på http://www.eksperten.dk/spm/988242:

select *
from (
SELECT navn, tlfnr, count(*) over(partition by tlfnr) Antal 
FROM Tabel
) s1
where Antal > 1
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

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