Rozważmy relację
Kilka przykładów agregowania atrybutów tej relacji:
SUM(B) = 2 + 4 + 2+ 2 = 10
AVG(A) = (1 + 3 + 1 + 1) / 4 = 1,5
MIN(A) = 1
MAX(B) = 4
COUNT(A) = 4
Czym jest grupowanie?
Grupowanie krotek według wartości jednego lub większej liczby atrybutów daje efekt rozdzielenia relacji na „grupy". Można wówczas stosować agregowanie wewnątrz poszczególnych grup. dzięki czemu uzyskuje się możliwość wyrażania zapytań, które nie sposób przedstawić za pomocą mechanizmów klasycznej algebry relacyjnej.
Operator grupowania ydaje możliwość wykonania grupowania i/lub agregowania pewnych kolumn. Jeżeli występuje grupowanie, to agregowanie odbywa się wewnątrz poszczególnych gmp.
Relację, która jest wynikiem wyrażenia y,.(R) tworzy się w następujący sposób:
a) Dzieli się krotki R na grupy. Każda grupa składa się ze wszystkich krotek z konkretnymi wartościami atrybutów grupowanych z listy L. Jeżeli grupowanie nie występuje, to całą relację R traktuje się jako jedną grupę.
b) W każdej gnipie tworzy się jedną krotkę złożoną z:
- wartości atrybutów grupujących dla tej grupy i
- agregacji utworzonych z wszystkich elementów danej grupy, które są określone przez atrybuty agregowane zawarte w liście L.
Przykład grupowania: