Pelo que entendi, o total sempre será dividido por 300 e este valor irá gerar a quantidade de pacotes. Se for isto, pode fazer a seguinte maneira: gera uma tabela com 100 registros, por exemplo. Vamos chamá-la de NUMEROS.
Depois faz assim:
select pacotes.*, n,resultado
from (select cliente, pedido, total de volumes/ 300 resultado
from /*executa aqui a tua sententeça*/ ) pacotes
,(select n
from numeros) num
where n <= resultado;