Hasil perbandingan di MySQL adalah 0 atau 1 . Jadi Stock > 0 adalah 1 jika true . Dan 1 dan lebih besar dari 0 . Jadi gunakan
ORDER BY Stock = 0 ASC, Price DESC
atau
ORDER BY Stock > 0 DESC, Price DESC
atau
ORDER BY case when Stock > 0
then 1
else 2
end,
Price DESC