mysql - 按字符串和数字排序,首先是数字,然后是 'strings of numbers'

标签 mysql sql sql-order-by

我的表中有一个包含各种条目的 varchar 字段。如何使用 order by 语句获得以下结果:

1
2
3
4
5
6
7
8
9
10
Steinstrass 1
Steinstrass 2
Steinstrass 3
Steinstrass 4
Steinstrass 5
Steinstrass 6
Steinstrass 7
Steinstrass 8
Steinstrass 9
Steinstrass 10

最佳答案

这对我有用:

mysql> select * from sorting;
+---------+
| field1  |
+---------+
| 1       |
| 4       |
| 10      |
| Item 1  |
| Item 10 |
| Item 0  |
| 0       |
+---------+
7 rows in set (0.00 sec)

mysql> select field1 from sorting order by length(field1),field1 asc;
+---------+
| field1  |
+---------+
| 0       |
| 1       |
| 4       |
| 10      |
| Item 0  |
| Item 1  |
| Item 10 |
+---------+
7 rows in set (0.00 sec)

关于mysql - 按字符串和数字排序,首先是数字,然后是 'strings of numbers',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11817564/

相关文章:

mysql - SQL left join on condition OR other 条件

mysql - 需要帮助优化 mysql 查询以使其按索引快速排序

mysql - 我是否需要有二级索引来改进查询?

android - 如何将MySQL数据发送到fire-base数据库?

php - 安全类(class) build

sql - MySQL 查询 - 自定义排序结果行前后

mysql - 如何根据 sales_order_id 汇总所有价格(MySQL)

php - 只显示一次数据

PHP 和 MySQL 密码问题

sql - Select 查询的结果返回不带斜杠的值