如何在codeigniter中使用订购

问题描述 投票:0回答:1

我的表数据是这样的

身份证 姓名 订购
1 英语 0
2 意大利语 1
3 西班牙语 2
4 印地语 1
5 孟加拉语 3
6 泰米尔语 2

我的询问

    $this->db->select('*');
    $this->db->from('languages');
    $this->db->order_by('order','asc');
    $query = $this->db->get();

我想要这样的数据 - 1,1,2,2,3,0

身份证 姓名 订购
2 意大利语 1
4 印地语 1
3 西班牙语 2
6 泰米尔语 2
5 孟加拉语 3
1 英语 0
php mysql codeigniter sql-order-by codeigniter-3
1个回答
4
投票

order = 0 是一个布尔值,当值为 1 时计算结果为 1,否则为 0。order 部分按升序对其余值进行排序。

SELECT o.* 
FROM order_1 
ORDER BY `order`= 0, `order`;

参见示例此处

© www.soinside.com 2019 - 2024. All rights reserved.