MySQL heeft een ongedocumenteerde syntaxis om nulls als laatste te sorteren. Plaats een minteken (-) voor de kolomnaam en zet de ASC op DESC:
SELECT * FROM tablename WHERE visible=1 ORDER BY -position DESC, id DESC
Het is in wezen het omgekeerde van position DESC
de NULL-waarden als laatste plaatsen, maar verder hetzelfde als position ASC
.
Een goede referentie is hier http://troels.arvin.dk/db/rdbms# select-order_by