在MySQL中按数字顺序排列,然后按字母顺序排列
我需要按项目编号的升序对表进行排序。我的表有几行数据,其中包含一个名为projectnumber的列。下面的文本显示了我的表中行的一部分在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
-- 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