sku_size_part1
をキャストする必要があります フロートに。
これによりクエリの速度は低下しますが、機能します:
$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");
MySQLはインデックスを使用して並べ替えを行うことができないため、これによりクエリの速度が低下します。関数を使用すると、それが防止されます。
より良い解決策(可能であれば) sku-size_part1
を再定義することです 10進数(10,2)として。
-- Make a backup first --
ALTER TABLE sku_data CHANGE sku_size_part1 DECIMAL(10,2);
(最初のパラメーター(10)と2番目のパラメーター(2)が、すべての可能な値を保持するのに十分な大きさであることを確認してください。)
参照: http://dev.mysql .com / doc / refman / 5.0 / en / cast-functions.html