MySQL hat eine undokumentierte Syntax, um Nullen zuletzt zu sortieren. Setzen Sie ein Minuszeichen (-) vor den Spaltennamen und ändern Sie ASC auf DESC:
SELECT * FROM tablename WHERE visible=1 ORDER BY -position DESC, id DESC
Es ist im Wesentlichen das Gegenteil von position DESC
Platzieren der NULL-Werte zuletzt, aber ansonsten dasselbe wie position ASC
.
Eine gute Referenz ist hier http://troels.arvin.dk/db/rdbms# select-order_by