Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.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_Sql_Codeigniter_Sorting - Fatal编程技术网

在MySQL中按数字顺序排列,然后按字母顺序排列

在MySQL中按数字顺序排列,然后按字母顺序排列,mysql,sql,codeigniter,sorting,Mysql,Sql,Codeigniter,Sorting,我需要按项目编号的升序对表进行排序。我的表有几行数据,其中包含一个名为projectnumber的列。下面的文本显示了我的表中行的一部分 -- project number -- 1199.7 1053.2 1020 1023-D 1023-C 1023-B 50 34.3T 870-W 以下是我在codeigniter中的查询: $this->db->se

我需要按项目编号的升序对表进行排序。我的表有几行数据,其中包含一个名为projectnumber的列。下面的文本显示了我的表中行的一部分

-- project number --
       1199.7
       1053.2
       1020
       1023-D
       1023-C
       1023-B
       50
       34.3T
       870-W
以下是我在codeigniter中的查询:

$this->db->select('Project');
$this->db->from('`active_projects`');
$this->db->order_by('Project');
Project
是有问题的栏目。有人能帮我修改我的查询,让它按照数字和字母升序排序吗

换句话说,正确的排序应该如下所示:

-- project number --
       50
       34.3T
       870-W
       1020
       1023-B
       1023-C
       1023-D
       1053.2
       1199.7

当在算术上下文中使用字符串时,MySQL执行从字符串到数字的静默转换

这对于您想做的事情非常方便。您只需执行以下操作:

order by project + 0, project