DocumentDB SQL - Maddeye Göre Sırala
Microsoft Azure DocumentDB, JSON belgeleri üzerinden SQL kullanarak belgelerin sorgulanmasını destekler. Koleksiyondaki belgeleri, sorgunuzda ORDER BY yan tümcesi kullanarak sayılara ve dizelere göre sıralayabilirsiniz. Yantümce, sonuçların alınması gereken sırayı belirtmek için isteğe bağlı bir ASC / DESC bağımsız değişkeni içerebilir.
Önceki örneklerde olduğu gibi aynı belgeleri ele alacağız.
Aşağıdaki AndersenFamily belge.
{
"id": "AndersenFamily",
"lastName": "Andersen",
"parents": [
{ "firstName": "Thomas", "relationship": "father" },
{ "firstName": "Mary Kay", "relationship": "mother" }
],
"children": [
{
"firstName": "Henriette Thaulow",
"gender": "female",
"grade": 5,
"pets": [ { "givenName": "Fluffy", "type": "Rabbit" } ]
}
],
"location": { "state": "WA", "county": "King", "city": "Seattle" },
"isRegistered": true
}
Aşağıdaki SmithFamily belge.
{
"id": "SmithFamily",
"parents": [
{ "familyName": "Smith", "givenName": "James" },
{ "familyName": "Curtis", "givenName": "Helen" }
],
"children": [
{
"givenName": "Michelle",
"gender": "female",
"grade": 1
},
{
"givenName": "John",
"gender": "male",
"grade": 7,
"pets": [
{ "givenName": "Tweetie", "type": "Bird" }
]
}
],
"location": {
"state": "NY",
"county": "Queens",
"city": "Forest Hills"
},
"isRegistered": true
}
Aşağıdaki WakefieldFamily belge.
{
"id": "WakefieldFamily",
"parents": [
{ "familyName": "Wakefield", "givenName": "Robin" },
{ "familyName": "Miller", "givenName": "Ben" }
],
"children": [
{
"familyName": "Merriam",
"givenName": "Jesse",
"gender": "female",
"grade": 6,
"pets": [
{ "givenName": "Charlie Brown", "type": "Dog" },
{ "givenName": "Tiger", "type": "Cat" },
{ "givenName": "Princess", "type": "Cat" }
]
},
{
"familyName": "Miller",
"givenName": "Lisa",
"gender": "female",
"grade": 3,
"pets": [
{ "givenName": "Jake", "type": "Snake" }
]
}
],
"location": { "state": "NY", "county": "Manhattan", "city": "NY" },
"isRegistered": false
}
Basit bir örneğe bakalım.
ORDER BY anahtar sözcüğünü içeren sorgu aşağıdadır.
SELECT f.id, f.children[0].givenName,f.children[0].grade
FROM Families f
ORDER BY f.children[0].grade
Yukarıdaki sorgu yürütüldüğünde aşağıdaki çıktıyı üretir.
[
{
"id": "SmithFamily",
"givenName": "Michelle",
"grade": 1
},
{
"id": "AndersenFamily",
"grade": 5
},
{
"id": "WakefieldFamily",
"givenName": "Jesse",
"grade": 6
}
]
Başka bir basit örneği ele alalım.
Aşağıda, ORDER BY anahtar sözcüğünü ve DESC isteğe bağlı anahtar sözcüğünü içeren sorgu verilmiştir.
SELECT f.id, f.parents[0].familyName
FROM Families f
ORDER BY f.parents[0].familyName DESC
Yukarıdaki sorgu yürütüldüğünde aşağıdaki çıktıyı üretecektir.
[
{
"id": "WakefieldFamily",
"familyName": "Wakefield"
},
{
"id": "SmithFamily",
"familyName": "Smith"
},
{
"id": "AndersenFamily"
}
]