Das Ergebnis eines Vergleichs in MySQL ist 0
oder 1
. Also Stock > 0
ist 1
wenn true
. Und 1
und größer als 0
. Verwenden Sie also entweder
ORDER BY Stock = 0 ASC, Price DESC
oder
ORDER BY Stock > 0 DESC, Price DESC
oder
ORDER BY case when Stock > 0
then 1
else 2
end,
Price DESC