4D v16.3DISTINCT VALUES |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
DISTINCT VALUES
DISTINCT VALUES
Der Befehl DISTINCT VALUES erstellt und füllt Array mit nicht-wiederholten (einmaligen) Werten aus dem Datenfeld Feldname für die aktuelle Auswahl der Tabelle, zu der das Datenfeld gehört. Sie können in diesem Befehl jedes indizierbare Feld übergeben, d.h. dessen Typ die Indizierung unterstützt, auch wenn es derzeit nicht indiziert ist. DISTINCT VALUES durchläuft und entnimmt nicht-wiederholte Werte nur aus der aktuellen Auswahl der Datensätze. Hinweis: DISTINCT VALUES berücksichtigt beim Aufrufen während einer noch nicht abgeschlossenen Transaktion die Datensätze, die in dieser Transaktion erstellt wurden. Erstellen Sie ein Array vor dem Aufrufen, erwartet DISTINCT VALUES einen Array-Typ, der mit dem übergebenen Datenfeld kompatibel ist. Ansonsten erstellt DISTINCT VALUES im interpretierten Modus ein Array von eigenem Typ. Ist das Datenfeld vom Typ Zeit, erwartet oder erstellt der Befehl ein Array vom Typ Lange Ganzzahl. Das von DISTINCT VALUES erwartete Array muss vom gleichen Typ sein wie das Feld, das als erster Parameter übergeben ist. Andernfalls wird das Array neu typisiert. Es gibt eine Ausnahme-I für diese Regelung: Ist das Datenfeld vom Typ Bild (und mit einem Volltext-Index verknüpft), muss das dazugehörige Array vom Typ Text sein. Nach dem Aufruf ist die Größe des Array gleich der Anzahl der in der Auswahl gefundenen eindeutigen Werte. Der Befehl ändert weder die aktuelle Auswahl noch den aktuellen Datensatz. Da DISTINCT VALUES mit dem Index des Datenfelds arbeitet, werden die Elemente in Array in aufsteigender Reihenfolge sortiert übertragen. Bei anderer Reihenfolge müssen Sie nach dem Befehl SORT ARRAY aufrufen. Hinweis: Wird DISTINCT VALUES mit einem Text- oder Bildfeld mit zugewiesenem Volltext-Index ausgeführt, füllt der Befehl das Array mit den Schlüsselwörtern des Index. Deshalb variieren die zurückgegebenen Werte im Gegensatz zu anderen Datentypen je nach Vorhandensein des Index. Der Volltext-Index wird immer berücksichtigt, selbst wenn dem Feld auch ein Standard-Index zugewiesen ist. Ist dem Datenfeld vom Typ Text oder Bild kein Volltext-Index zugeordnet, wird das Array leer zurückgegeben. Der Befehl akzeptiert ein Array AnzahlArray als optionalen Parameter. Sie können entweder ein Array vom Typ Lange Ganzzahl oder Zahl übergeben. AnzahlArray gibt für jeden nicht-wiederholten Wert in Feld die Anzahl der gefundenen Vorkommen in der aktuellen Auswahl zurück. Sie wird automatisch an die Anzahl der Elemente in Array angepasst. Beispiel: Für eine Auswahl, die drei Datensätze enthält mit den Feldwerten "A", "B" und "A", enthält Array {A;B} und AnzahlArray {2;1}. Hinweis: Der Parameter AnzahlArray wird nicht von Feldern vom Typ Text oder Bild mit zugewiesenen Volltext-Indizes unterstützt. In diesem Kontext wird er leer zurückgegeben. WARNUNG: DISTINCT VALUES erstellt u.U. umfangreiche Arrays, je nach Größe der Auswahl und Anzahl der verschiedenen Werte in den Datensätzen. Da Arrays im Speicher bleiben, empfehlen wir, das Ergebnis nach Ende des Befehls zu testen. Prüfen Sie die Größe jedes resultierenden Array oder sichern Sie den Aufruf dieses Befehls mit einer Fehlerverwaltungsmethode ON ERR CALL. 4D Server: DISTINCT VALUES wurde für 4D Server optimiert. Das Array wird auf dem Server erstellt und berechnet; es wird dann komplett auf den Client-Rechner übertragen. Hinweis: Dieser Befehl unterstützt keine Felder vom Typ Objekt. Folgendes Beispiel erstellt eine Städteliste aus der aktuellen Auswahl und teilt dem Benutzer die Anzahl der Städte mit, in denen die Firma Läden unterhält: ALL RECORDS([Retail Outlets]) ` Erstelle eine Datensatzauswahl Sie wollen für das Feld "Pictures" eine komplette Liste der Schlüsselwörter im Volltext-Index erhalten: ALL RECORDS([PICTURES]) Sie wollen für statistische Berechnungen die Anzahl der unterschiedlichen Werte in einem Feld in absteigender Reihenfolge sortieren: ARRAY TEXT($_issue_type;0)
Siehe auch
|
EIGENSCHAFTEN
Produkt: 4D GESCHICHTE
Geändert: 4D v11 SQL SCHLÜSSELWÖRTER index mots-clés, mots-clés ARTIKELVERWENDUNG
4D Programmiersprache ( 4D v16) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||