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:
- Sắp xếp theo số Alpha trong MySQL
- Sắp xếp tự nhiên trong MySQL
- Sắp xếp dạng số giá trị trộn với giá trị chữ và số
- sắp xếp tự nhiên mySQL
- Sắp xếp tự nhiên trong MySQL
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
Đầ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