コンテンツにスキップ

リストクエリのソート

クエリ結果はsort引数を使用してソートできます。ソート順(昇順 vs 降順)は、フィールド名に対してASCまたはDESCを指定することで設定されます。

以下の例では、createdAtfirstNameemailなどのフィールドとリレーションを含むstudentsというテーブルがあります。

これは、結果が作成日時の昇順でソートされるクエリです。

リクエスト

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

レスポンス

{
"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"
}
]
}
}
}

ネストされたおよび複数フィールドのソート

Section titled “ネストされたおよび複数フィールドのソート”

クエリ結果は、関連テーブルの属性だけでなく、複数のソートオブジェクトを使用してもソートできます。これらは受信された順序で優先度がランク付けされます。

リクエスト

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

レスポンス

{
"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"
}
]
}
}
}