Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:
Databricks SQL
Databricks Runtime
Az eredménysorokat a felhasználó által megadott sorrendben rendezve adja vissza. A SORT BY záradéktól eltérően ez a záradék garantálja a kimenet teljes sorrendjét.
Szintaxis
ORDER BY { { ALL [ sort_direction] [ nulls_sort_oder ] } |
{ expression [ sort_direction ] [ nulls_sort_oder ] } [, ...] }
sort_direction
[ ASC | DESC ]
nulls_sort_order
[ NULLS FIRST | NULLS LAST ]
Paraméterek
Összes
A következőkre vonatkozik:
Databricks SQL
Databricks Runtime 12.2 LTS és újabbA
SELECTlistában szereplő összes kifejezésnek az előfordulásuk sorrendjében való megadásának rövidített megfelelője. Hasort_directionmegnulls_sort_ordervan adva, az egyes kifejezésekre vonatkoznak.-
Bármilyen típusú kifejezés, amely az eredmények visszaadásának sorrendjét határozza meg.
Ha a kifejezés egy literális
INTEGERérték, akkor a rendszer oszloppozícióként értelmezi a kijelölési listában.Ha egy literális
INTEGERérték tartományon kívüli pozícióra hivatkozik, Azure Databricks ORDER_BY_POS_OUT_OF_RANGE. sort_direction
A rendezési sorrendet adja meg kifejezés szerint.
-
ASC: A kifejezés rendezési iránya növekvő. -
DESC: A kifejezés rendezési sorrendje csökkenő.
Ha a rendezési irány nincs explicit módon megadva, akkor alapértelmezés szerint a sorok növekvő sorrendbe vannak rendezve.
-
nullok_rendezési_sorrendje
Opcionálisan megadja, hogy a NULL értékek nem NULL értékek előtt vagy után lesznek-e visszaadva. Ha
null_sort_ordernincs megadva, akkor a NULL értékek kerülnek előre, ha a rendezési sorrendASC, és a NULL értékek kerülnek a végére, ha a rendezési sorrendDESC.-
NULLS FIRST: A null értékeket a rendszer a rendezési sorrendtől függetlenül először adja vissza. -
NULLS LAST: A NULL értékeket a rendszer a rendezési sorrendtől függetlenül utolsóként adja vissza.
-
Ha a kifejezés olyan adattípussal rendelkezik, amely nem támogatja a rendezést (például MAP), Azure Databricks DATATYPE_MISMATCH. INVALID_ORDERING_TYPE.
Egynél több kifejezés megadásakor balról jobbra történik a rendezés. Az összes sort az első kifejezés rendezi. Ha az első kifejezéshez ismétlődő értékek tartoznak, a második kifejezés az ismétlődések csoportján belüli sorrend feloldására szolgál, és így tovább. Az eredményként kapott sorrend nem determinisztikus, ha az összes sorrendben ismétlődő értékek vannak kifejezések szerint.
Gyakori hibafeltételek
Példák
> CREATE TABLE person (id INT, name STRING, age INT);
> INSERT INTO person VALUES
(100, 'John' , 30),
(200, 'Mary' , NULL),
(300, 'Mike' , 80),
(400, 'Jerry', NULL),
(500, 'Dan' , 50);
-- Sort rows by age. By default rows are sorted in ascending manner with NULL FIRST.
> SELECT name, age FROM person ORDER BY age;
Jerry NULL
Mary NULL
John 30
Dan 50
Mike 80
-- Sort rows in ascending manner keeping null values to be last.
> SELECT name, age FROM person ORDER BY age NULLS LAST;
John 30
Dan 50
Mike 80
Mary NULL
Jerry NULL
-- Sort rows by age in descending manner, which defaults to NULL LAST.
> SELECT name, age FROM person ORDER BY age DESC;
Mike 80
Dan 50
John 30
Jerry NULL
Mary NULL
-- Sort rows in ascending manner keeping null values to be first.
> SELECT name, age FROM person ORDER BY age DESC NULLS FIRST;
Jerry NULL
Mary NULL
Mike 80
Dan 50
John 30
-- Sort rows based on more than one column with each column having different
-- sort direction.
> SELECT * FROM person ORDER BY name ASC, age DESC;
500 Dan 50
400 Jerry NULL
100 John 30
200 Mary NULL
300 Mike 80
-- Sort rows based on all columns in the select list
> SELECT * FROM person ORDER BY ALL ASC;
100 John 30
200 Mary NULL
300 Mike 80
400 Jerry NULL
500 Dan 50
-- Positional reference out of range.
> SELECT name FROM person ORDER BY 2;
Error: ORDER_BY_POS_OUT_OF_RANGE
-- Ordering by a type that does not support ordering.
> SELECT map('a', 1) AS m ORDER BY 1;
Error: DATATYPE_MISMATCH