
434 MySQL - Technische Referenz f¨ur Version 5.0.1-alpha
mysql> select student_name, AVG(test_ergebnis)
from student
GROUP BY student_name;
MIN(ausdruck)
MAX(ausdruck)
Gibt den kleinsten oder gr¨oßten Wert von ausdruck zur¨uck. MIN() und MAX()
k¨onnen Zeichenketten-Argumente aufnehmen und geben in solchen F¨allen den
kleinsten oder gr¨oßten Zeichenketten- Wert zur¨uck. Siehe Abschnitt 6.4.3
[MySQL indexes], Seite 349.
mysql> select student_name, MIN(test_ergebnis), MAX(test_ergebnis)
from student
GROUP BY student_name;
SUM(ausdruck)
Gibt die Summe von ausdruck zur¨uck. Beachten Sie, dass der R¨uckgabewert
NULL ist, wenn die Ergebnismenge keine Zeilen hat!
STD(ausdruck)
STDDEV(ausdruck)
Gibt die Standardabweichung von ausdruck zur¨uck. Das ist eine Erweiterung
zu ANSI-SQL. Die STDDEV()-Form dieser Funktion wird aus Gr¨unden der
Oracle-Kompatibilit¨at zur Verf¨ugung gestellt.
BIT_OR(ausdruck)
Gibt das bitweise OR aller Bits in ausdruck zur¨uck. Die Berechnung wird mit
64-Bit-(BIGINT)-Genauigkeit durchgef¨uhrt.
BIT_AND(ausdruck)
Gibt das bitweise AND aller Bits in ausdruck zur¨uck. Die Berechnung wird mit
64-Bit-(BIGINT)-Genauigkeit durchgef¨uhrt.
MySQL hat die Benutzung von GROUP BY erweitert. Sie k¨onnen Spalten oder Berechnungen
im SELECT-Ausdruck angeben, die nicht im GROUP BY-Teil erscheinen. Das steht f¨ur jeden
m¨oglichen Wert f¨ur diese Gruppe. Das k¨onnen Sie benutzen, um bessere Performance
zu erzielen, indem Sie Sortieren und Gruppieren unn¨otiger Bestandteile vermeiden. Zum
Beispiel m¨ussen Sie in folgender Anfrage nicht nach kunde.name gruppieren:
mysql> select bestellung.kunde_id,kunde.name,max(zahlungen)
from bestellung,kunde
where bestellung.kunde_id = kunde.kunde_id
GROUP BY bestellung.kunde_id;
In ANSI-SQL m¨ussten Sie der GROUP BY-Klausel kunde.name hinzuf¨ugen. In MySQL ist
der Name ¨uberfl¨ußig, solange Sie nicht im ANSI-Modus fahren.
Benutzen Sie dieses Feature nicht, wenn die Spalten, die Sie im GROUP BY-Teil auslassen, in
der Gruppe nicht eindeutig sind! Sonst erhalten Sie unvorhersagbare Ergebnisse.
In einigen F¨allen k¨onnen Sie MIN() und MAX() benutzen, um einen bestimmten Spaltenwert
zu erhalten, selbst wenn er nicht eindeutig ist. Folgendes gibt den Wert von spalte aus der
Zeile zur¨uck, die den kleinsten Wert in der sortierung-Spalte enth¨alt:
substr(MIN(concat(rpad(sortierung,6,’ ’),spalte)),7)
Kommentare zu diesen Handbüchern