我有记录record_id的记录,该记录由字母和数字构成
例如
a1
a2
a11
a12
b1
如果我对此排序,我会得到
a1
a11
a12
a2
b1
我想知道是否有一种方法可以按字母排序,然后按以下数值排序
a1
a2
a11
a12
b1
答案 0 :(得分:1)
DROP TABLE IF EXISTS my_table;
CREATE TABLE my_table
(string CHAR(3) NOT NULL);
INSERT INTO my_table VALUES
('a2'),('a11'),('a12'),('b1');
select * FROM my_table ORDER BY string;
+--------+
| string |
+--------+
| a11 |
| a12 |
| a2 |
| b1 |
+--------+
select * FROM my_table ORDER BY string+0;
+--------+
| string |
+--------+
| a2 |
| a11 |
| a12 |
| b1 |
+--------+
现在认真考虑将数据标准化。