Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Sắp xếp chuỗi 섞 số trong MySQL

Dùng ORDER BY với một số trường hợp (CASE). Tạo bảng:

mysql> CREATE TABLE demo18 ( value TEXT ); Query OK, 0 rows affected (1.18 sec)

Chèn bản ghi:

mysql> INSERT INTO demo18 VALUES('John Smith'); Query OK, 1 row affected (0.06 sec) mysql> INSERT INTO demo18 VALUES('2J John has 58'); Query OK, 1 row affected (0.17 sec) mysql> INSERT INTO demo18 VALUES('2J John has 9'); Query OK, 1 row affected (0.09 sec)

Hiển thị:

mysql> SELECT * FROM demo18;

Kết quả:

+----------------+ | value          | +----------------+ | John Smith     | | 2J John has 58 | | 2J John has 9  | +----------------+ 3 rows in set (0.00 sec)

Truy vấn sắp xếp:

mysql> SELECT * FROM demo18 ORDER BY REGEXP_REPLACE(value, '[0-9]*$', ''), LENGTH(value), value;

Kết quả:

+----------------+ | value          | +----------------+ | 2J John has 9  | | 2J John has 58 | | John Smith     | +----------------+ 3 rows in set (0.14 sec)