- Kategorien:
Aggregatfunktionen (General) , Fensterfunktionen
MODE¶
Gibt den häufigsten Wert für die Werte in expr1 zurück. NULL-Werte werden ignoriert. Wenn alle Werte NULL oder 0 Zeilen sind, gibt die Funktion NULL zurück.
Syntax¶
Aggregatfunktion
Fensterfunktionen
Argumente¶
expr1Dieser Ausdruck erzeugt die Werte, die durchsucht werden, um den häufigsten Wert zu finden. Der Ausdruck kann einen der folgenden Datentypen haben:
BINARY
BOOLEAN
DATE
FLOAT
INTEGER
NUMBER
TIMESTAMP (TIMESTAMP_LTZ, TIMESTAMP_NTZ, TIMESTAMP_TZ)
VARCHAR
VARIANT
Diese Funktion unterstützt folgende Datentypen nicht:
ARRAY
GEOGRAPHY
OBJECT
expr2Der optionale Ausdruck, nach dem die Daten in Gruppen aufgeteilt werden sollen. Die Ausgabe enthält den häufigsten Wert für jede Gruppe/Partition.
Rückgabewerte¶
Der Datentyp des Rückgabewerts ist identisch mit dem Datentyp des Eingabeausdrucks.
Nutzungshinweise¶
Wenn für den häufigsten Wert ein Gleichstand besteht (zwei oder mehr Werte treten gleich häufig auf und häufiger als alle anderen Werte), gibt MODE einen dieser Werte zurück.
DISTINCT wird bei dieser Funktion nicht unterstützt.
Selbst wenn NULL der häufigste Wert ist, gibt die Funktion nicht NULL zurück (es sei denn, alle Werte sind NULL).
Wenn diese Funktion als Fensterfunktion aufgerufen wird, wird sie nicht unterstützt:
Eine ORDER BY-Klausel innerhalb der OVER-Klausel.
Explizite Fensterrahmen.
Beispiele¶
Der folgende Code veranschaulicht die Verwendung der Funktion MODE:
Erstellen Sie eine Tabelle und Daten:
Rufen Sie den Wert MODE für die Spalte v ab. Die Funktion gibt NULL zurück, da keine Zeilen vorhanden sind.
Fügen Sie einige Zeilen ein:
Die Funktion MODE gibt den am häufigsten vorkommenden Wert 10 zurück:
Fügen Sie einige weitere Zeilen ein:
Jetzt gibt es zwei häufigste Werte. Die Funktion MODE wählt den Wert 10 aus:
Fügen Sie eine Zeile mit einem NULL-Wert ein:
Rufen Sie den MODE-Wert für jede Gruppe ab. Beachten Sie, dass der Rückgabewert für diese Gruppe NULL lautet, da die Gruppe k = 3 nur NULL-Werte enthält.
Die Funktion MODE kann auch als einfache Fensterfunktion mit einer OVER-Klausel verwendet werden: