Syntax von Any_Value -Funktion
Im Folgenden wird die Syntax die Funktion Any_Value in Amazon Redshift verwendet:
Any_Value ([bestimmt | alle] Ausdruck)Im Folgenden finden Sie die Beschreibung der Parameter und Optionen, die an die Funktion rotverschiebend übergeben wurden. Value -Funktion:
Unterschiedlich | ALLEGeben Sie beim Ausführen der Funktion "Any_Value. Wenn wir die angeben UNTERSCHEIDBAR Das Schlüsselwort, die Funktion Any_Value, entzieht doppelte Werte aus dem Eingabefreundlichkeit und gibt dann den Zufallswert aus diesen eindeutigen Ausdrücken zurück.
Andererseits, wenn die ALLE Das Schlüsselwort wird verwendet. Die Funktion Any_Value gibt den zufälligen Ausdruck aus allen Eingangsausdrücken zurück.
Ausdruck
Es ist die Zielspalte oder der Ausdruck, auf dem die Funktion Any_Value arbeitet und zufällig einen Wert erhält. Es kann die Daten der folgenden Datentypen enthalten:
Beispiele für Any_Value -Funktion
Dieser Abschnitt des Artikels enthält verschiedene Beispiele der Rotverschiebung angemeldet, um sie gründlich auszuarbeiten.
Einrichten der Umgebung
Bevor wir uns mit verschiedenen Beispielen befassen, müssen wir eine Tabelle mit verschiedenen Spalten erstellen. Die folgende Abfrage kann eine Tabelle im Rotverschiebungscluster mit den folgenden Attributen erstellen:
Jetzt werden wir einige Beispieldaten in die Tabelle user_data des Rotverschiebungsclusters einfügen. Verwenden Sie die Abfrage einfügen, um die Daten mithilfe der folgenden Abfrage hinzuzufügen:
In user_data einfügen (Führen Sie diese Abfrage mehrmals aus, indem Sie die Werte ändern, um die Daten mehrerer Benutzer zu speichern. Jetzt werden wir die Funktion Any_Value auf diese Tabelle anwenden.
Verwenden Sie nach dem Einsetzen der Daten mehrerer Benutzer die folgende Abfrage, um alle Daten aufzulisten:
Wählen Sie * aus user_data;Anwenden eines beliebigen Ganzzahl -Datentyps anwenden
In diesem Abschnitt werden wir den Any_Value auf den Ganzzahl -Datentyp oder den anwenden Angestellten ID Säule der Benutzerdaten Tabelle, die wir im vorherigen Abschnitt erstellt haben.
Zu diesem Zweck kann die folgende Abfrage verwendet werden, um die Mitarbeiter -ID eines jeden Mitarbeiter zu erhalten:
Wählen Sie Any_Value (Employee_ID) als Employee_ID von user_data;Die vorherige Abfrage wählt einen beliebigen Wert aus dem aus Angestellten ID Spalte und kehrt als Ausgabe dieser Abfrage zurück. Die vorherige Abbildung gab den Mitarbeiter des zufälligen Benutzers aus dem zurück Benutzerdaten Tisch.
Anwenden eines Any_Value auf String -Datentyp
Genau wie wir die Funktion Any_Value auf den Ganzzahl -Datentyp angewendet haben, kann sie auch auf den String -Datentyp angewendet werden. Bei der Anwendung auf das Feld String Datentyp wählt die Funktion Any_Value nach dem Zufallsprinzip eines der Daten aus und gibt sie als Antwort zurück.
Um einen zufälligen Wert aus dem zu erhalten Nutzername (String) Feld, führen Sie die folgende Abfrage auf dem Red -Shift -Cluster aus:
Wählen Sie Any_Value (Benutzername) als Benutzername von user_data;Es wird zufällig zurückgeben Nutzername Eintrag aus dem Benutzerdaten Tisch.
Anwenden eines beliebigen Datentyps für Datum anwenden
Wir können auch einen zufälligen Wert aus dem Feld erhalten, der mehrere Einträge vom Datentyp des Datums enthält. Wenn die Funktion "Any_Value" auf die mehreren Werte des Datumsartyps angewendet wird, wählt sie zufällig einen Eintrag aus und gibt ihn als Antwort zurück.
A Geburtsdatum eines zufälligen Benutzers aus dem Benutzerdaten Tabelle, die folgende Abfrage im Rotverschiebungscluster ausführen:
Wählen Sie Any_Value (DATE_OF_BIRTH) AS DATE_OF_BIRTH AUS UMSER_DATA;Diese Abfrage erhält zufällig Geburtsdatum aus der Tabelle und geben Sie es als Antwort zurück.
Any_Value -Funktion mithilfe der Gruppe
Wir können die Funktion Any_Value verwenden, um zu vereinfachen und zu optimieren GRUPPIERE NACH Aussagen Fortschritt. Ein häufiges Problem, das bei vielen Abfragen auftritt.
Wählen Sie Kunde.Id, Kunde.Name, Summe (Bestellungen.Wert)Im vorherigen Abfrageattribut muss der Kundenname durch Klausel zur Beteiligung innerhalb der Konsequenz in der Gruppe sein. Dies ist unerwünscht und macht die Berechnung kompliziert und träge.
Um die Abfrage zu verbessern und es schneller auszuführen, können Sie die vorherige Abfrage mit der Funktion "Any_Value" implementieren.
Wählen Sie Kunde.ID, Any_Value (Kunde.Name), Summe (Bestellungen.Wert)Abschluss
Any_Value ist eine Funktion, die mehrere Werte als Eingabe nimmt und einen Zufallswert aus diesen Eingabewerten zurückgibt. Es wählt den Ausgang aus den Eingangsausdrücken nicht deterministisch aus. Wenn der Eingangsausdruck in die Funktion Any_Value nicht zu einer Zeile führt, ist die Ausgabe der Funktion ein Nullwert. In diesem Blog werden die verschiedenen Anwendungsfälle beschrieben, um die Funktion Any_Value zu implementieren, um die zufällige Ausgabe zu erhalten.