Premesso che nella tabella c'è anche un campo 'posizione'

ho partorito questa query

codice:
SELECT DISTINCT (i.id_iscrizione)
FROM iscrizioni AS i
INNER JOIN livelli_iscrizioni AS li
ON i.id_iscrizione = li.id_iscrizione
INNER JOIN livelli AS l
ON l.id_livello = li.id_livello
ORDER BY l.posizione DESC,li.dataorario_inserimento ASC
Così funziona abbastanza ma c'è un errore, ossia finchè due iscritti sono allo stesso livello, quello che lo ha raggiunto prima risulta primo in classifica, grazie all' ORDER BY li.dataorario_inserimento ASC

Purtroppo questo non funziona con la posizione dei livelli, ossia per un iscritto che ha raggiunto un livello in posizione maggiore, ORDER BY l.posizione DESC è come se non influisse sull'ordinamento di i.id_iscrizione