My table data is like that
| ID | NAME | order |
|---|---|---|
| 1 | English | 0 |
| 2 | Italian | 1 |
| 3 | Spanish | 2 |
| 4 | Hindi | 1 |
| 5 | Bengali | 3 |
| 6 | Tamil | 2 |
my query
$this->db->select('*');
$this->db->from('languages');
$this->db->order_by('order','asc');
$query = $this->db->get();
I want data like this order-1,1,2,2,3,0
| ID | NAME | order |
|---|---|---|
| 2 | Italian | 1 |
| 4 | Hindi | 1 |
| 3 | Spanish | 2 |
| 6 | Tamil | 2 |
| 5 | Bengali | 3 |
| 1 | English | 0 |
Advertisement
Answer
Try this:
create table order_1( id int(4), name varchar(20), `order` int(3) ); insert into order_1 values (1,'English',0), (2,'Italian',1), (3,'Spanish',2),(4,'Hindi',1),(5,'Bengali',3),(6,'Tamil',2); SELECT * FROM order_1 ORDER BY `order`= 0, `order`;
