MySQL memiliki sintaks yang tidak terdokumentasi untuk mengurutkan nol terakhir. Letakkan tanda minus (-) sebelum nama kolom dan alihkan ASC ke DESC:
SELECT * FROM tablename WHERE visible=1 ORDER BY -position DESC, id DESC
Ini pada dasarnya adalah kebalikan dari position DESC menempatkan nilai NULL terakhir tetapi sebaliknya sama dengan position ASC .
Referensi yang bagus ada di sini https://troels.arvin.dk/db/rdbms# pilih-pesan_oleh