SKIP

Предложение SKIP задаёт количество начальных строк, исключаемых из выходного набора.

Введение

SKIP отсекает строки от начала результирующего набора. Обратите внимание: порядок строк в результате не гарантируется, если он явно не определён предложением ORDER BY. SKIP принимает любое выражение, вычисляющееся в неотрицательное целое число.

Пропуск первых трёх строк

Чтобы вернуть подмножество результатов, начиная с позиции после первых N строк, используйте следующий синтаксис:

Запрос

SELECT *
FROM cypher('graph_name', $$
    MATCH (n)
    RETURN n.name
    ORDER BY n.name
    SKIP 3
$$) AS (names agtype);

Возвращает результаты после пропуска первых трёх строк.

Результат

names
"D"
"E"
2 строки

Возврат двух строк из середины

Чтобы вернуть подмножество, начиная с произвольной позиции, объедините SKIP с LIMIT.

Запрос

SELECT *
FROM cypher('graph_name', $$
    MATCH (n)
    RETURN n.name
    ORDER BY n.name
    SKIP 1
    LIMIT 2
$$) AS (names agtype);

Возвращает две вершины из середины упорядоченного результирующего набора.

Результат

names
"B"
"C"
2 строки

Использование выражений с SKIP

С SKIP можно использовать выражения для динамического определения количества пропускаемых строк.

Запрос

SELECT *
FROM cypher('graph_name', $$
    MATCH (n)
    RETURN n.name
    ORDER BY n.name
    SKIP (3 * rand()) + 1
$$) AS (a agtype);

Пропускает первые две вершины и возвращает последние три.

Результат

names
"C"
"D"
"E"
3 строки