Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Sắp xếp truy vấn MySQL với số

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




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để tôi có thể yêu cầu mysql xuất một ngày DateTime thành số ngày Julian?

  2. PHP Xóa nhiều hàng với hộp kiểm

  3. Đã chuẩn bị nhiều Chèn mysqli

  4. Biến cục bộ MySQL

  5. Decimal VS Int trong MySQL?