Bạn cần truyền sku_size_part1
vào một phao.
Điều này sẽ làm chậm truy vấn của bạn, nhưng nó sẽ hoạt động:
$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");
Điều này sẽ làm chậm truy vấn, bởi vì MySQL sẽ không thể sử dụng một chỉ mục để thực hiện việc sắp xếp, việc sử dụng một hàm sẽ ngăn chặn điều đó.
Giải pháp tốt hơn (nếu có thể) sẽ xác định lại sku-size_part1
dưới dạng số thập phân (10,2).
-- Make a backup first --
ALTER TABLE sku_data CHANGE sku_size_part1 DECIMAL(10,2);
(Đảm bảo tham số đầu tiên (10) và tham số thứ hai (2) đủ lớn để chứa tất cả các giá trị có thể có.)
Xem: http://dev.mysql .com / doc / refman / 5.0 / en / cast-functions.html