Resultatet af en sammenligning i MySQL er 0 eller 1 . Så Stock > 0 er 1 hvis true . Og 1 og større end 0 . Så brug enten
ORDER BY Stock = 0 ASC, Price DESC
eller
ORDER BY Stock > 0 DESC, Price DESC
eller
ORDER BY case when Stock > 0
then 1
else 2
end,
Price DESC