İçeriğe geç

Liste Sorgularını Sıralama

Sorgu sonuçlarınız sort argümanı kullanılarak sıralanabilir. Sıralama düzeni (artan vs. azalan), alan adı için ASC veya DESC belirtilerek ayarlanır.

Aşağıdaki örneklerde, createdAt, firstName, email gibi alanları ve ilişkileri içeren students adlı bir tablomuz var.

İşte sonuçların oluşturulma tarihine göre artan sırada sıralanacağı bir sorgu.

İstek

query MyQuery1 {
students(sort: [CREATEDAT]) {
items {
id
createdAt
firstName
email
}
}
}

Yanıt

{
"data": {
"students": {
"items": [
{
"id": "287cff0a-345b-4cca-9e9a-75a2161238fd",
"createdAt": "2025-12-02T05:01:31.054581Z",
"firstName": "James",
"email": "james.smith@example.com"
},
{
"id": "97fb89ac-e0ad-44f5-b671-24a1b751287c",
"createdAt": "2025-12-02T05:03:17.180675Z",
"firstName": "John",
"email": "john.williams@example.com"
},
{
"id": "429cf99f-4481-49c4-adb4-605731b20eb2",
"createdAt": "2025-12-04T14:16:53.049955Z",
"firstName": "Mary",
"email": "mary.brown@example.com"
}
]
}
}
}

Sorgu sonuçlarınız, ilişkili tablolardaki özelliklerin yanı sıra birden çok sıralama nesnesi kullanılarak da sıralanabilir. Alındıkları sıraya göre öncelikli olarak derecelendirilirler.

İstek

query MyQuery1 {
students(
sort: [
{ firstName: ASC },
{ email: DESC }
]
) {
items {
id
firstName
email
}
}
}

Yanıt

{
"data": {
"students": {
"items": [
{
"id": "287cff0a-345b-4cca-9e9a-75a2161238fd",
"firstName": "James",
"email": "james.smith@example.com"
},
{
"id": "97fb89ac-e0ad-44f5-b671-24a1b751287c",
"firstName": "John",
"email": "john.williams@example.com"
},
{
"id": "429cf99f-4481-49c4-adb4-605731b20eb2",
"firstName": "Mary",
"email": "mary.brown@example.com"
}
]
}
}
}