Ajuda com select em auto-relacionamento

É o seguinte, possuo um sistema que é uma espécie de livro, nele, a tabela página possui auto-relacionamento, pois uma página leva à outra, porém é possível que uma página tenha dois caminhos diferentes, por exemplo, a página 3 pode levar a duas diferentes páginas 4, é um livro interativo.
Estou utilizando o MySQL e a tabela é mais ou menos assim:

create table Paginas(
  id_pagina int primary key auto_increment not null, # Chave primária
  id_livro int not null, # A qual livro pertence esta página
  texto text not null, # Texto da página
  numero_pagina smallint not null default 1, # Número da página, é possível que existam por exemplo duas páginas 3, ou até 8 páginas 4
  op tinyint, # Qual opção foi escolhida na página anterior (1 ou 2) para que o usuário pudesse chegar nessa página
  anterior int, # ID da página anterior à essa
  foreign key(id_livro) references Livros(id_livro) on delete cascade,
  foreign key(anterior) references Paginas(id_pagina) on delete cascade
);

Eu preciso agora fazer uma lista dos ids das páginas por onde ele passou para chegar até aqui, por exemplo, a página de ID 1 o levou até a de ID 2, que o levou até a de ID 4, agora eu preciso saber por onde ele passou para ter conseguido chegar até aqui, sendo que eu só tenho o ID da página atual, o ID da página anterior a atual, o número da página atual e qual opção foi escolhida na página anterior para que ela a tenha levado até a página atual. Eu pensei em algo assim:

for(int i = 0; i < numero_pagina; i++){
   pagina_atual = consultarPagina("SELECT * FROM Paginas WHERE id_pagina = "+anterior);
   array.add(pagina_atual);
   anterior = pagina_atual.getAnterior();
}

Mas isso executaria muitos selects, o que é um problema, principalmente num livro grande. Acredito que é possível resumir tudo isso a um único select, mas ainda não obtive sucesso, por favor, me ajudem!

Bump!
Por favor, me ajudem, se não deu pra entender o meu problema por favor me avisem!

Bump! Ninguém?

Bump again! Por favor, deem atenção

Muda sua consulta para buscar pelo id_livro

livro = consultarPagina("SELECT * FROM Paginas WHERE id_livro = " + id_livro + " ORDER BY id_pagina);

onde o livro tem uma coleção (List) de páginas ordenadas