Musisz przesłać sku_size_part1
w pływak.
Spowoduje to spowolnienie zapytania, ale zadziała:
$brand = mysqli_real_escape_string($brand);
$result = $mysqli->query("SELECT DISTINCT sku_size_part1
FROM sku_data
WHERE sku_brandname = '$brand'
ORDER BY CAST(sku_size_part1 AS FLOAT) DESC");
Spowoduje to spowolnienie zapytania, ponieważ MySQL nie będzie w stanie użyć indeksu do sortowania, a użycie funkcji zapobiega temu.
Lepsze rozwiązanie (jeśli to możliwe) byłoby przedefiniowanie sku-size_part1
jako ułamek dziesiętny(10,2).
-- Make a backup first --
ALTER TABLE sku_data CHANGE sku_size_part1 DECIMAL(10,2);
(Upewnij się, że pierwszy parametr (10) i drugi parametr (2) są wystarczająco duże, aby pomieścić wszystkie możliwe wartości.)
Patrz:http://dev.mysql .com/doc/refman/5.0/en/cast-functions.html