mboost-dp1

MySQL: database relationer, optælling af antal kæledyr


Gå til bund
Gravatar #1 - markjensen
29. jan. 2008 18:56
Hej :)

Jeg er i gang med at lege med relationer i MySQL.

Jeg har to tabeller:

brugere, som indeholder: navn, alder, id
kaledyr, som indeholder: navn, ejer, id

Jeg har lavet en relation mellem kaledyr.ejer og brugere.id og kan hente alle kæledyr samt kæledyrets ejer - hvilket jeg får til at virke med følgende:


SELECT kaledyr.*, brugere.navn as 'ejernavn', brugere.alder as 'ejeralder' FROM `kaledyr` INNER JOIN brugere ON kaledyr.ejer = brugere.id


Nu vil jeg gerne hente en liste over alle brugere, samt hver brugers antal af kæledyr. Jeg har prøvet med noget count, men jeg kan ikke få det til at virke.

Håber I kan hjælpe.

Hilsen Mark
Gravatar #2 - arne_v
29. jan. 2008 19:09
SELECT brugere.navn,COUNT(*) AS antal FROM brugere INNER JOIN kaledyr ON brugere.id = kaledyr.ejer
Gravatar #3 - markjensen
29. jan. 2008 19:17
Tak, det virker (i hvert fald efter jeg lavede en GROUP) :)

Kan du forklare i ord hvorfor du skriver som du gør? :)

Hilsen Mark
Gravatar #4 - arne_v
29. jan. 2008 19:50
Ja - der skal GROUP BY på - sorry.

JOIN'en fletter de to tabeller sammen. Og man skal bruge navn og antallet af rækker (=antal af kæledyr).
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login