SQL Academy
Premium
Funktionsreferenz

ANY_VALUE

Gibt den Wert eines Ausdrucks aus irgendeiner Zeile der Gruppe zurück.

MySQL 8.1
ANY_VALUE(expr)

Parameter

expr
Ausdruck, dessen Wert aus einer beliebigen Zeile der Gruppe genommen wird

Rückgabewert

Wert vom Typ von expr aus einer beliebigen Zeile der Gruppe

Beispiele

Beliebiger Name je Status

MySQL 8.1
SELECT status,
	ANY_VALUE(member_name) AS any_member,
	COUNT(*) AS members
FROM FamilyMembers
GROUP BY status;
statusany_membermembers
fatherHeadley Quincey2
motherFlavia Quincey2
sonAndie Quincey1
daughterLela Quincey3

Name der Fluggesellschaft zu ihrer id

MySQL 8.1
SELECT company,
	ANY_VALUE(Company.name) AS company_name,
	COUNT(*) AS trips
FROM Trip
	JOIN Company ON Company.id = Trip.company
GROUP BY company;
companycompany_nametrips
4air_France2
3Dale_avia2
2Aeroflot2
1Don_avia6
5British_AW10

Details

In den Übungsdatenbanken ist der Modus ONLY_FULL_GROUP_BY aktiv: Eine Spalte, die nicht in GROUP BY steht und nicht in eine Aggregatfunktion eingeschlossen ist, führt zu einem Fehler. ANY_VALUE beseitigt diesen Fehler, wenn der Wert in der Gruppe gleich ist (zum Beispiel der Name einer Fluggesellschaft zu ihrer id) oder wenn jeder Wert passt. Welche Zeile ins Ergebnis kommt, ist nicht festgelegt.

Siehe auch