Я хотел бы включить столбец row_number в свой результирующий набор с последовательностью номеров строк, где 1 - это новейший элемент без пробелов. Это работает:Глобальные номера строк в chunked запросе
SELECT id, row_number() over (ORDER BY id desc) AS row_number, title
FROM mytable
WHERE group_id = 10;
Теперь я хотел бы запросить одни и те же данные в кусках 1000 каждого, чтобы быть легче на памяти:
SELECT id, row_number() over (ORDER BY id desc) AS row_number, title
FROM mytable
WHERE group_id = 10 AND id >= 0 AND id < 1000
ORDER BY id ASC;
Здесь row_number перезапусков от 1 для каждого фрагмента, но я хотел бы, чтобы это было так, как если бы оно было частью глобального запроса, как в первом случае. Есть ли простой способ сделать это?
Ха-ха, я собирался принять свой собственный ответ, но вы переписали его с большей осторожностью и детализацией, интересной ситуацией. Для моего варианта использования не имеет значения, выполняется ли index/query на id или rn, поскольку я использую это для пакетного экспорта данных. Я приму свой ответ, чтобы он ускорялся, поскольку, как я думаю, другие ответы не подходят для больших таблиц. – tdma