我有像范围内的距离数据,如
5-10,0-5,10-15,
我正在使用此查询按排序顺序获取数据:
$this->db->select("distance_from_mall");
$this->db->from("transport_charges");
$this->db->order_by("distance_from_mall", "asc");
$route =$this->db->get()->result_array();
它给了我
0-5,10-15,5-10而不是0-5,5-10,10-15,
答案 0 :(得分:1)
因为你的距离是一个字符串,所以引擎ORDER
就是一个字符串。
这是此查询的正确答案。
我建议将distance
更改为每个transport_charge
的最小整数/数字..如果范围不重叠,这将为您提供所需的所有数据。
如果他们这样做;将distance
分为两列,range_max
和range_min
以及ORDER BY
,无论哪个更有意义,或将两个列分开存储:ORDER BY range_min, range_max