Avatar billede vraa Nybegynder
29. september 2006 - 13:31 Der er 6 kommentarer og
1 løsning

select count med where

Ved godt at følgende ikke virker men er det muligt at lave det på en anden måde så?

select count(where nr = 2) as antal, navn, adresse from bruger

Håber i forstår?
Avatar billede coderdk Praktikant
29. september 2006 - 13:33 #1
select count(nr) as antal, navn, adresse from bruger where nr = 2

?
Avatar billede coderdk Praktikant
29. september 2006 - 13:34 #2
Evt.:

select count(nr) as antal, navn, adresse from bruger where nr = 2 group by navn

eller

select count(nr) as antal, navn, adresse from bruger where nr = 2 group by navn, adresse
Avatar billede vraa Nybegynder
29. september 2006 - 13:55 #3
Okay. Må nok hellere fylde lidt mere på sql sætningen før det giver mening :-)

Den kan se således:

select navn, adresse, count(meddelelser.brugerID) as antalMeddelelserFraBruger from bruger left join meddelelser on bruger.brugerid = meddelelser.brugerid

Ved godt at sætningen er langt fra fuldkommen men det jeg gerne vil have er følgende output:

Navn            Adresse                antalMeddelelserFraBruger
Hans Jensen      Torvet 5              3
Erik Eriksen    Smøgen 3              5

Dvs. at navn og adresse skal hentes som alm. select. Altså alle brugere hentes fra tabellen brugere men skal så samtidig joines med tabellen meddelelser og her automatisk regne ud hvor mange gange en meddelelse fra en bruger figurerer i meddelelses tabellen. Men det skal figurere som vist ovenfor.
Avatar billede coderdk Praktikant
29. september 2006 - 14:09 #4
Kan du ikke bruge samme metode?

select navn, adresse, count(meddelelser.brugerID) as antalMeddelelserFraBruger from bruger left join meddelelser on bruger.brugerid = meddelelser.brugerid group by antalMeddelelserFraBruger

?
Avatar billede vraa Nybegynder
29. september 2006 - 14:16 #5
Så får jeg fejlen "invalid column name 'antalMeddelelserFraBruger' ?
Avatar billede vraa Nybegynder
29. september 2006 - 14:23 #6
fandt ud af det. skal se sådan her ud:

select navn, adresse, count(meddelelser.brugerID) as antalMeddelelserFraBruger from bruger left join meddelelser on bruger.brugerid = meddelelser.brugerid group by navn, adresse

... så får jeg ønskede output.

Tak for hjælpen. Læg et svar så får du point :-)
Avatar billede coderdk Praktikant
29. september 2006 - 14:28 #7
Doh, ja det var også det jeg ville have skrevet :-D heheheh
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