導入
検索結果を見やすくするには、並び順を揃えたり、件数を絞ったりする必要があります。SQLの ORDER BY や LIMIT に似た機能がCypherにも用意されています。
説明
MATCH (p:Person)
RETURN p.name AS name, p.born AS born
ORDER BY p.born DESC
ORDER BY p.born…bornの値が小さい順(昇順)に並べる。ORDER BY p.born DESC…DESCをつけると降順(大きい順)になる。複数の列をカンマ区切りで指定すると、優先順位をつけて並べ替えられる。
MATCH (p:Person)
RETURN p.name AS name, p.born AS born
ORDER BY p.born DESC
LIMIT 5
LIMIT 5 は、結果の先頭から5件だけを返します。「最も新しく生まれた5人」を知りたいときなどに、ORDER BY と組み合わせてよく使われます。
さらに SKIP を組み合わせると、「何件目から返すか」を指定できます。
MATCH (p:Person)
RETURN p.name AS name, p.born AS born
ORDER BY p.born DESC
SKIP 5
LIMIT 5
このクエリは「6件目から10件目まで」を返します。SKIP と LIMIT の組み合わせは、Webアプリの検索結果を「1ページ目」「2ページ目」と区切って表示する**ページング(ページネーション)**の実装によく使われます。