我正在尝试按升序从数据库中检索项目编号。
行看起来像这样:
-- project number --
1199.7
1053.2
1020
1023-D
1023-C
1023-B
50
34.3T
870-W
以下是我检索和排序数据的查询:
$this->db->select('Project');
$this->db->from('`active_projects`');
$this->db->order_by('Project + 0, Project');
表格的一部分输出:
我的问题是,为什么127卡在中间而不是顶部?我认为它与1270相同,只是没有追加0,但我不确定。任何人都可以帮我解决问题吗?
答案 0 :(得分:2)
因为您的数据类型是字符串并按字母顺序排序。
使用order_by('cast(Project as UNSIGNED), Project');
答案 1 :(得分:0)
您可以使用php中的natsort()函数。
$array = $result_from_query;
$sorted_array = natsort($array);
现在只返回已排序的数组。