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

MySQL 'Order By' - sắp xếp chính xác chữ và số

Mọi người sử dụng các thủ thuật khác nhau để làm điều này. Tôi đã lên Google và tìm ra một số kết quả theo từng thủ thuật khác nhau. Hãy xem chúng:

Chỉnh sửa:

Tôi vừa thêm mã của mỗi liên kết cho những khách truy cập trong tương lai.

Sắp xếp theo số Alpha trong MySQL

Đầu vào đã cho

1A 1a 10A 9B 21C 1C 1D

Sản lượng mong đợi

1A 1C 1D 1a 9B 10A 21C

Truy vấn

Bin Way
===================================
SELECT 
tbl_column, 
BIN(tbl_column) AS binray_not_needed_column
FROM db_table
ORDER BY binray_not_needed_column ASC , tbl_column ASC

-----------------------

Cast Way
===================================
SELECT 
tbl_column, 
CAST(tbl_column as SIGNED) AS casted_column
FROM db_table
ORDER BY casted_column ASC , tbl_column ASC

Sắp xếp tự nhiên trong MySQL

Đầu vào đã cho

Table: sorting_test
 -------------------------- -------------
| alphanumeric VARCHAR(75) | integer INT |
 -------------------------- -------------
| test1                    | 1           |
| test12                   | 2           |
| test13                   | 3           |
| test2                    | 4           |
| test3                    | 5           |
 -------------------------- -------------

Đầu ra mong đợi

 -------------------------- -------------
| alphanumeric VARCHAR(75) | integer INT |
 -------------------------- -------------
| test1                    | 1           |
| test2                    | 4           |
| test3                    | 5           |
| test12                   | 2           |
| test13                   | 3           |
 -------------------------- -------------

Truy vấn

SELECT alphanumeric, integer
       FROM sorting_test
       ORDER BY LENGTH(alphanumeric), alphanumeric  

Sắp xếp các giá trị số trộn với giá trị chữ và số

Đầu vào đã cho

2a, 12, 5b, 5a, 10, 11, 1, 4b

Đầu ra mong đợi

1, 2a, 4b, 5a, 5b, 10, 11, 12

Truy vấn

SELECT version
FROM version_sorting
ORDER BY CAST(version AS UNSIGNED), version;

Hy vọng điều này sẽ giúp ích



  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ưu trữ hình ảnh vào cơ sở dữ liệu blob; truy xuất từ ​​db vào Hộp ảnh

  2. Cách kết nối với MySQL bằng Microsoft .NET

  3. Cách đặt Bộ ký tự và đối chiếu của một bảng trong MySQL

  4. JSON mã hóa kết quả MySQL

  5. Thứ tự hàng MySQL cho SELECT * FROM tên_bảng;?