ORDER BY (NoSQL sorgusu)
UYGULANANLAR: NoSQL
İsteğe bağlı ORDER BY
yan tümcesi, sorgu tarafından döndürülen sonuçlar için sıralama düzenini belirtir.
Söz dizimi
ORDER BY <sort_specification>
<sort_specification> ::= <sort_expression> [, <sort_expression>]
<sort_expression> ::= {<scalar_expression> [ASC | DESC]} [ ,...n ]
Bağımsız değişkenler
Açıklama | |
---|---|
<sort_specification> |
Sorgu sonuç kümesinin sıralanacağı özelliği veya ifadeyi belirtir. Sıralama sütunu ad veya özellik diğer adı olarak belirtilebilir. Birden çok özellik belirtilebilir. Özellik adları benzersiz olmalıdır. yan tümcesindeki ORDER BY sıralama özelliklerinin sırası, sıralanmış sonuç kümesinin kuruluşunu tanımlar. Yani, sonuç kümesi ilk özelliğe göre sıralanır ve sonra sıralı liste ikinci özelliğe göre sıralanır ve bu şekilde devam eder. yan tümcesinde başvuruda bulunan ORDER BY özellik adları, herhangi bir belirsizlik olmadan seçme listesindeki bir özelliğe veya yan tümcesinde belirtilen koleksiyonda FROM tanımlanan özelliğe karşılık gelir. |
<sort_expression> |
Sorgu sonuç kümesinin sıralanacağı bir veya daha fazla özellik veya ifade belirtir. |
<scalar_expression> |
Hesaplanacak değeri temsil eden ifade. |
ASC veya DESC |
Belirtilen sütundaki değerlerin artan veya azalan düzende sıralanması gerektiğini belirtir. ASC en düşük değerden en yüksek değere sıralar. DESC en yüksek değerden en düşük değere sıralar. Bu bağımsız değişken belirtilmezse( ASC artan) varsayılan sıralama düzenidir. null değerleri mümkün olan en düşük değerler olarak değerlendirilir. |
Not
Skaler ifadeler hakkında daha fazla bilgi için bkz . skaler ifadeler
Örnekler
Bu bölümdeki örnekler için bu öğe başvuru kümesi kullanılır. Her öğe ve last
alt özelliklerine sahip first
bir name
özellik içerir.
[
{
"name": {
"first": "Casey",
"last": "Jensen"
},
"team": "Human resources"
},
{
"name": {
"first": "Amari",
"last": "Rivera"
},
"team": "Human resources"
},
{
"name": {
"first": "Kayla",
"last": "Lewis"
},
"team": "Human resources"
}
]
Bu ilk örnekte yan tümcesi, ORDER BY
bir alanı varsayılan sıralama düzenine göre artan düzende sıralamak için kullanılır.
SELECT VALUE {
firstName: e.name.first,
lastName: e.name.last
}
FROM
employees e
ORDER BY
e.name.last
[
{
"firstName": "Casey",
"lastName": "Jensen"
},
{
"firstName": "Kayla",
"lastName": "Lewis"
},
{
"firstName": "Amari",
"lastName": "Rivera"
}
]
Bu sonraki örnekte, sıralama düzeni açıkça azalan olacak şekilde belirtilir.
SELECT VALUE {
firstName: e.name.first,
lastName: e.name.last
}
FROM
employees e
ORDER BY
e.name.last DESC
[
{
"firstName": "Amari",
"lastName": "Rivera"
},
{
"firstName": "Kayla",
"lastName": "Lewis"
},
{
"firstName": "Casey",
"lastName": "Jensen"
}
]
Bu son örnekte, öğeler açıkça belirtilen sıralama kullanılarak belirli bir sırada iki alan kullanılarak sıralanır. İki veya daha fazla alan kullanarak sıralayan bir sorgu için bileşik dizin gerekir.
SELECT VALUE {
firstName: e.name.first,
lastName: e.name.last
}
FROM
employees e
ORDER BY
e.name.last DESC,
e.name.first ASC
Açıklamalar
- ORDER
ORDER BY
BY yan tümcesindeki özelliğin tanımlanmadığı öğeler de dahil olmak üzere tüm öğeleri döndüren sorgular. Normalde, sonuçlarda farklıundefined
türlerin görünme sırasını denetleyemezsiniz. Tanımlanmamış değerlerin sıralama düzenini denetlemek için, tanımlı değerlerden önce veya sonra sıralandığından emin olmak için özelliklereundefined
rastgele bir değer atayın. ORDER BY
yan tümcesi, dizin oluşturma ilkesinin sıralanan alanlar için bir dizin içermesini gerektirir. Sorgu çalışma zamanı, bir özellik adına veya hesaplanan özelliklere göre sıralamayı destekler. Çalışma zamanı birden çokORDER BY
özelliği de destekler. Birden çokORDER BY
özelliğe sahip bir sorgu çalıştırmak için, sıralanan alanlarda bileşik dizin tanımlayın.- Sıralanan özellikler bazı öğeler için olabilir
undefined
ve bunları birORDER BY
sorguda almak istiyorsanız, bu yolu dizine açıkça eklemeniz gerekir. Varsayılan dizin oluşturma ilkesi, sıralama özelliğininundefined
olduğu öğelerin alınmasına izin vermez.