Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:
Databricks SQL
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:
Databricks SQL
Databricks Runtime 12.2 LTS ve üzeriListedeki tüm ifadeleri
SELECToluştukları sırayla belirtmeye eşdeğer bir kısaltma. veyasort_directionbelirtilirsenulls_sort_orderher ifadeye uygulanır.-
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 değerse
INTEGER, seçme listesinde sütun konumu olarak yorumlanır.Sabit
INTEGERdeğeri aralık dışında olan bir konuma başvuruyorsa, Azure Databricks ORDER_BY_POS_OUT_OF_RANGE yükseltir. 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üzeniASCise NULLS en son sıralanırDESC.-
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.
-
İfadenin MAP gibi sıralamayı desteklemeyen bir veri türü varsa, Azure Databricks DATATYPE_MISMATCH oluşturur. INVALID_ORDERING_TYPE.
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.
Yaygın hata koşulları
Ö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
-- 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