我需要按项目编号的升序排序表。我的表有几行数据,包含一个名为项目编号的列。下面的文字显示了我表格中行的一部分。
-- 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
答案 0 :(得分:2)
当在算术上下文中使用字符串时,MySQL会执行从字符串到数字的静默转换。
这对您想要做的事情非常方便。你可以这样做:
order by project + 0, project