Ich habe eine Datenbank mit Daten von Hunden. Jetzt möchte ich ermitteln wieviele Würfe in einem Jahr gefallen sind.
SQL
SELECT
dog.dogname, dog.breeder_id, dog.mother_id, dog.date_of_birth, YEAR(dog.date_of_birth) AS year, owner.kennelname,
COUNT(dog.dogname) anzahl
FROM
dog
LEFT JOIN owner ON
(dog.breeder_id = owner.id)
WHERE owner.country_short='de'
AND YEAR(dog.date_of_birth)>1996
AND owner.kennel_note =''
GROUP BY
dog.mother_id, dog.date_of_birth
ORDER BY
date_of_birth ASC
Alles anzeigen
das gibt mir das year, den kennelname und die Anzahl der Babys (anzahl):
Code
2004 - Zwinger A - 8 Welpen
2004 - Zwinger B - 2 Welpen
2004 - Zwinger C - 5 Welpen
2004 - Zwinger A - 3 Welpen
Gruppiere ich nach year, erhalte ich die Anzahl aller Babys in einem Jahr.
Soweit gut... - jetzt möchte ich die Anzahl der Würfe pro Jahr haben.
Es kann aber sein, das zwei Würfe a.) am gleichen Tag geboren sind b.)die gleiche Mutter haben oder c.)beim gleichen Züchter geboren sind. Somit scheidet die COUNT DISCTINCT Variante aus....
Ergebnis soll sein