Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 按字符串列对查询结果进行数字排序。_Mysql - Fatal编程技术网

Mysql 按字符串列对查询结果进行数字排序。

Mysql 按字符串列对查询结果进行数字排序。,mysql,Mysql,我有一个带有varchar列的表,该列完全由数字填充。当我使用ORDERBY子句执行查询时,它按字母数字排序。如果我知道它们都是数字,但无法将列更改为整数类型,那么如何对它们进行数字排序 insert into table1 values(field1) ('1'), ('10'), ('2); select * from table1 order by field1; 应返回: 1、2、10您可以投射该字段: insert into table1 values(field1) ('1'),

我有一个带有varchar列的表,该列完全由数字填充。当我使用ORDERBY子句执行查询时,它按字母数字排序。如果我知道它们都是数字,但无法将列更改为整数类型,那么如何对它们进行数字排序

insert into table1 values(field1) ('1'), ('10'), ('2);
select * from table1 order by field1;
应返回:
1、2、10

您可以投射该字段:

insert into table1 values(field1) ('1'), ('10'), ('2');
select * from table1 order by cast(field1 as signed integer);

你可以投下这个场:

insert into table1 values(field1) ('1'), ('10'), ('2');
select * from table1 order by cast(field1 as signed integer);

我认为插入时的顺序甚至没有被用户提到OP@Cez. 你说得对。忽略了一个
:o从我的帖子中删除了抱怨。语法也不正确。它应该读为“CAST(field1作为无符号整数)”或“CAST(field1作为有符号整数)”@Cez。又对了。:)我想该睡觉了。{oI我认为插入时的顺序甚至没有被OP@Cez.你说得对。忽略了一个
:o从我的帖子中删除了抱怨。语法也不正确。它应该是“CAST(field1作为无符号整数)”或“CAST(field1作为有符号整数)”@Cez。再次对。:)我想我该睡觉了。{oNote您有语法错误:
('2');
=>
('2');
注意您有语法错误:
('2');
=>
('2');