ORDER BY záradék

A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet 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.

Syntax

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

  • ALL (összes)

    A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime 12.2 LTS és újabb

    A lista összes kifejezésének az előfordulási sorrendben SELECT történő megadásának rövidített megfelelője. Ha sort_direction meg nulls_sort_order van adva, az egyes kifejezésekre vonatkoznak.

  • Kifejezés

    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 INT-érték, akkor a rendszer oszloppozícióként értelmezi a kijelölési listában.

  • 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.

  • nulls_sort_order

    Opcionálisan megadja, hogy a NULL értékek nem NULL értékek előtt vagy után lesznek-e visszaadva. Ha null_sort_order nincs megadva, akkor az NULL-ek rendeznek először, ha rendezési sorrend vanASC, a NULLS rendezés pedig az utolsó, ha a rendezési sorrend .DESC

    • 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.

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.

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