要将字符串作为数字排序,请使用CAST()
。以下是语法-
select *from yourTableName ORDER BY CAST(yourColumnName AS SIGNED) DESC;
让我们首先创建一个表-
mysql> create table DemoTable ( Id varchar(100) );
使用插入命令在表中插入一些记录-
mysql> insert into DemoTable values('3'); mysql> insert into DemoTable values('20'); mysql> insert into DemoTable values('34'); mysql> insert into DemoTable values('21'); mysql> insert into DemoTable values('78'); mysql> insert into DemoTable values('90');
使用select语句显示表中的所有记录-
mysql> select *from DemoTable;
这将产生以下输出-
+------+ | Id | +------+ | 3 | | 20 | | 34 | | 21 | | 78 | | 90 | +------+ 6 rows in set (0.00 sec)
以下是对整数排序的查询-
mysql> select *from DemoTable ORDER BY CAST(Id AS SIGNED) DESC;
这将产生以下输出-
+------+ | Id | +------+ | 90 | | 78 | | 34 | | 21 | | 20 | | 3 | +------+ 6 rows in set (0.02 sec)