Vous devez caster sku_size_part1
dans un flotteur.
Cela ralentira votre requête, mais cela fonctionnera :
$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");
Cela ralentira la requête, car MySQL ne pourra pas utiliser d'index pour effectuer le tri, l'utilisation d'une fonction l'empêche.
Une meilleure solution (si possible) serait de redéfinir sku-size_part1
sous forme décimale (10,2).
-- Make a backup first --
ALTER TABLE sku_data CHANGE sku_size_part1 DECIMAL(10,2);
(Assurez-vous que le premier paramètre (10) et le deuxième paramètre (2) sont suffisamment grands pour contenir toutes les valeurs possibles.)
Voir :http://dev.mysql .com/doc/refman/5.0/en/cast-functions.html