Todas as coleções
Tutoriais
Exemplos de paginação
Exemplos de paginação

Exemplo de paginação com banco de dados - Oracle, SqlServer

Vinícius Christ avatar
Escrito por Vinícius Christ
Atualizado há mais de uma semana

IMPORTANTE: esta documentação foi descontinuada. Leia a documentação Exemplos de paginação atualizada no nosso novo portal de documentação.

Neste documento, segue alguns exemplos de query para implementar consultas paginadas no pipeline.

Exemplo de entrada:

{
"page" : 1,
"pageSize" : 50
}

Oracle

SELECT COL_A, COL_B
FROM (SELECT COL_A,
COL_B,
row_number() over (order by COL_A) rn
FROM XPTO.MY_TABLE )

WHERE rn BETWEEN {{ TOLONG(SUM(SUBTRACT(MULTIPLY(message.page, message.pageSize), message.pageSize), 1)) }}


AND {{ TOLONG(MULTIPLY(message.page, message.pageSize)) }}

SQL Server

SELECT col_a, col_b FROM myTabel 
ORDER BY col_a
OFFSET {{ TOLONG(SUM(SUBTRACT(MULTIPLY(message.page, message.pageSize), message.pageSize), 1)) }} ROWS
FETCH NEXT {{ message.pageSize}} ROWS ONLY

Spark

WITH CTEResults AS

(
SELECT *, ROW_NUMBER() OVER (ORDER BY query.col_1) AS RowNum FROM(
select distinct
col_1,
col_2,
col_3
from mytable
where << YOUR FILTERS HERE>>
order by col_1) query
)
SELECT *
FROM CTEResults
where RowNum > {{ TOLONG(SUBTRACT(MULTIPLY(message.page, message.pageSize), message.pageSize)) }}

and RowNum <= {{ TOLONG(MULTIPLY(message.page, message.pageSize)) }}

Respondeu à sua pergunta?