ORDER BY yan tümcesi

Şunlar için geçerlidir:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime

Sonuç satırlarını kullanıcı tarafından belirtilen düzende sıralanmış bir şekilde döndürür. SORT BY yan tümcesinin aksine, bu yan tümce çıktıda toplam sırayı garanti eder.

Sözdizimi

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 ]

Parametreler

  • TÜMÜ

    Şunlar için geçerlidir:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime 12.2 LTS ve üzeri

    Listedeki tüm ifadeleri SELECT oluştukları sırayla belirtmeye eşdeğer bir kısaltma. veya nulls_sort_order belirtilirse sort_direction her ifadeye uygulanır.

  • Ifa -de

    Sonuçların döndürüldiği sırayı oluşturmak için kullanılan herhangi bir türde ifade.

    İfade değişmez bir INT değeriyse, seçme listesinde sütun konumu olarak yorumlanır.

  • sort_direction

    İfadeye göre sıralama düzenini belirtir.

    • ASC: Bu ifadenin sıralama yönü artandır.
    • DESC: Bu ifadenin sıralama düzeni azalan düzendedir.

    Sıralama yönü açıkça belirtilmezse, varsayılan olarak satırlar artan düzende sıralanır.

  • nulls_sort_order

    İsteğe bağlı olarak NULL değerlerin NULL olmayan değerlerden önce/sonra döndürülip döndürülmeyeceğini belirtir. Belirtilmezse null_sort_order , sıralama düzeni ise NULL'ler önce sıralanır ve sıralama düzeni ASC ise NULLS en son sıralanır DESC.

    • NULLS FIRST: Null değerler sıralama düzeninden bağımsız olarak önce döndürülür.
    • NULLS LAST: Null değerler sıralama düzeninden bağımsız olarak en son döndürülür.

Birden fazla ifadeyi belirtirken sıralama soldan sağa gerçekleşir. Tüm satırlar ilk ifadeye göre sıralanır. İlk ifade için yinelenen değerler varsa, ikinci ifade yinelenenler grubu içindeki sırayı çözümlemek için kullanılır ve bu şekilde devam eder. Elde edilen sıra, ifadelere göre tüm düzende yinelenen değerler varsa belirleyici değildir.

Örnekler

> 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