Devi trasmettere sku_size_part1
in un galleggiante.
Questo rallenterà la tua query, ma funzionerà:
$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");
Ciò rallenterà la query, perché MySQL non sarà in grado di utilizzare un indice per eseguire l'ordinamento, l'utilizzo di una funzione lo impedisce.
Una soluzione migliore (se possibile) sarebbe ridefinire sku-size_part1
come decimale(10,2).
-- Make a backup first --
ALTER TABLE sku_data CHANGE sku_size_part1 DECIMAL(10,2);
(Assicurati che il primo parametro (10) e il secondo parametro (2) siano sufficientemente grandi da contenere tutti i valori possibili.)
Vedi:http://dev.mysql .com/doc/refman/5.0/en/cast-functions.html