Se l'ordine delle category non è alfabetico credo che il problema non possa essere risolto semplicemente in SQL.
Forse ti conviene effettuare una SELECT ordinata per category e position:
e successivamente ordinare a codice per category magari appoggiandoti ad un array.codice:SELECT * FROM papier_book ORDER BY category, position