Aracılığıyla paylaş


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 özelliklere undefined 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 çok ORDER BY özelliği de destekler. Birden çok ORDER 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ı bir ORDER BY sorguda almak istiyorsanız, bu yolu dizine açıkça eklemeniz gerekir. Varsayılan dizin oluşturma ilkesi, sıralama özelliğinin undefinedolduğu öğelerin alınmasına izin vermez.