Datensätze sortieren
order by
Mit
order by
sortieren Sie einen Array aus Datensätzen nach einem bestimmten Feld. Das ist hilfreich, wenn Sie einen Array, bevor Sie ihn weiterverarbeiten, zuerst sortieren möchten.Wenn Sie
order by
in einem Layout-Element Ansicht verwenden, dann wird dieses erst nach einem (ausgewählten) Spaltenkopf sortiert und anschließend über den nach order by
angegebenen Wert. 1
(select Rechnungen) order by Summe
Ergebnis: Die Einträge der Tabelle Rechnungen werden nach dem Feld Summe sortiert (von klein nach groß).
Der Wert nach
order by
muss dabei nicht zwingend nur ein Feldname sein, Sie können ihn zum Beispiel auch durch Funktionen manipulieren.1
(select Rechnungen where Datum = today()) order by number(substr('Rechnungs-Nr.', 3))
Ergebnis: Die Einträge mit heutigem Datum der Tabelle Rechnungen werden nach der Zahl im Text-Feld Rechnungs-Nr. sortiert.
Die
3
verweist auf die Position der Zahl innerhalb der Rechnungs-Nr., die bei uns zum Beispiel an der 4. Stelle beginnt: RE-12574
(0
=R
, 1
=E
, 2
=-
, 3
=1
(die erste Zahl)).Am besten funktioniert
order by
wenn man Datensätze anhand einer Zahl sortiert.Vorsicht beim Sortieren von Strings. Strings werden nicht alphabetisch, sondern nach dem Index der Zeichen sortiert. So werden zuerst alle Großbuchstaben alphabetisch sortiert, anschließend die Kleinbuchstaben.
ABcD wird also zu ABDc sortiert.
Ergebnis: ABcD
Sie haben eine Tabelle Beispiel für order by mit einem Feld Vornamen. Darin enthalten sind folgende Datensätze: Aaron, Eddi, conrad, beate, Dahlia, and Fatima. Fügen Sie folgendes Skript in ein Formel-Feld ein.
1
concat(((select 'Beispiel für order by') order by Vorname).Vorname)
Ergebnis: Aaron, Dahlia, Eddi, Fatima, beate, conrad
Das ist nicht die gewünschte alphabetische Sortierung ...
Wir ergänzen
upper()
, was alle Einträge zum Sortieren in Großbuchstaben setzt.1
concat(((select 'Beispiel für order by') order by upper(Vorname)).Vorname)
Ergebnis: Aaron, beate, conrad, Dahlia, Eddi, Fatima
🎉
Brauchen Sie nur die Liste der Namen und nicht die Datensätze selbst, dann empfehlen wir Ihnen die Anwendung von
sort()
:1
concat(sort((select 'Beispiel für order by').Vorname))
Ergebnis: Aaron, beate, conrad, Dahlia, Eddi, Fatima
Last modified 5mo ago