Výsledek porovnání v MySQL je 0
nebo 1
. Takže Stock > 0
je 1
pokud true
. A 1
a větší než 0
. Buď tedy použijte
ORDER BY Stock = 0 ASC, Price DESC
nebo
ORDER BY Stock > 0 DESC, Price DESC
nebo
ORDER BY case when Stock > 0
then 1
else 2
end,
Price DESC