Twoja price kolumna musi mieć znak CHAR() or VARCHAR() typ, a nie typ liczbowy. Prześlij go jako DECIMAL w ORDER BY :
Select * From table ORDER BY CAST(price AS DECIMAL(10,2)) DESC
Prawdziwym rozwiązaniem tego problemu byłaby zmiana price typ danych na odpowiedni typ liczbowy.