Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Linha de retorno de cada n'ésimo registro


É aqui que ROW_NUMBER pode ajudar. Requer uma cláusula de pedido, mas isso é bom porque um pedido por está presente (e necessário para garantir um pedido específico).
SELECT t.id, t.key
FROM
(
    SELECT id, key, ROW_NUMBER() OVER (ORDER BY key) AS rownum
    FROM datatable
) AS t
WHERE t.rownum % 30 = 0    -- or % 40 etc
ORDER BY t.key