sql >> Base de Datos >  >> RDS >> Mysql

Clasificación de consultas MySQL con números

Necesitas lanzar sku_size_part1 en un flotador.

Esto ralentizará su consulta, pero funcionará:

$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");

Esto ralentizará la consulta, porque MySQL no podrá usar un índice para realizar la clasificación, el uso de una función lo impide.

Una solución mejor (si es posible) sería redefinir sku-size_part1 como un decimal (10,2).

-- Make a backup first --
ALTER TABLE sku_data CHANGE sku_size_part1 DECIMAL(10,2); 

(Asegúrese de que el primer parámetro (10) y el segundo parámetro (2) sean lo suficientemente grandes para contener todos los valores posibles).
Ver:http://dev.mysql .com/doc/refman/5.0/en/cast-functions.html