Tengo una expresión de tabla común muy gruesa que incluye números de fila para que pueda devolver un conjunto de resultados paginado. También quiero devolver el número total de registros que coinciden con la consulta antes de pasar al conjunto de resultados.¿Cómo hacer referencia a un CTE dos veces?
with recs as (select *, row_number() over (order by id) as rownum from ......)
select * from recs where rownum between @a and @b .... select count(*) from recs
Obviamente, mi consulta anterior es desigual, pero es solo para ilustrar mi punto. Quiero una página de resultados Y el número total de coincidencias. ¿Cómo hago esto sin tener que copiar y pegar literalmente las 20 líneas completas de CTE?
Tal vez considero cambiar el nombre de esta pregunta ya que la respuesta aceptada en realidad no utiliza el CTE dos veces. –