Databases Reference
In-Depth Information
SELECT *
FROM Tier
WHERE Tier.Gattung='Hase'
ORDER BY Tier.GNr
Das Ergebnis der Anfrage ist:
Gruppierung
mit WHERE-
Bedingung
GNR TNAME GATTUNG
---------- -------- -------
2 Hunny Hase
2 Klopfer Hase
2 Runny Hase
3 Bunny Hase
Danach wird diese Anfrage ohne die SELECT - und ORDER BY -
Zeilen in eine GROUP BY -Anfrage eingebettet. In der resultie-
renden SELECT -Zeile wird das Gruppierungsattribut und die
gewünschte Aggregatsfunktion eingetragen.
SELECT Tier.GNr, COUNT(*) Hasenzahl
FROM Tier
WHERE Tier.Gattung='Hase'
GROUP BY Tier.GNr
Das Ergebnis der Anfrage ist:
GNR HASENZAHL
---------- ----------
2 3
3 1
Beim Ergebnis fällt auf, dass Gruppen, für die keine Elemente
vorhanden sind, nicht erscheinen. Um diese Gruppierungswer-
te auch sichtbar zu machen, muss man verschiedene Anfragen
verknüpfen, dies wird im folgenden Kapitel diskutiert.
Bei den SELECT -Zeilen der Anfragen mit Gruppierungen fällt
auf, dass dort eine Mischung aus Attributen und Aggregats-
funktionen steht. Dieser Ansatz ist bei der Erklärung der Ag-
gregatsfunktionen im Unterkapitel „7.3 Nutzung von Aggre-
gatsfunktionen“ durchgestrichen worden. Bei Gruppierungen
ist dies kein Problem, da in der SELECT -Zeile ausschließlich At-
tribute stehen dürfen, die auch in der GROUP BY -Zeile stehen.
Natürlich können diese Attribute in der SELECT -Zeile auch
weggelassen werden. Es können auch mehrere Berechnungen
auf einer Gruppe ausgeführt werden.
In dem folgenden Beispiel wird die Anzahl der jeweiligen Gat-
tungen pro Gehegenummer gezählt. Es werden also zwei Attri-
bute in der GROUP BY -Zeile benötigt. Die Gruppierung erfolgt
dann nach dem Wertepaar. Die Anfrage lautet:
Gruppen ohne
Elemente sind
nicht im Ergeb-
nis
Attribute in SE-
LECT-Zeilen bei
Gruppierungen
Gruppierung
nach mehreren
Attributen
176
Search WWH ::




Custom Search