假设我们在一个表中有4个项目:
搜索词是“ Jordan ”,我如何获得按字母顺序排序但搜索词首先匹配的结果,如下所示:
我正在使用此代码,但没有得到我想要的:
$this->db->select('id, name');
$this->db->from('users');
$this->db->like('name', $search_term);
$this->db->order_by('name', 'asc');
$query = $this->db->get();
最佳答案
试试这个:
SELECT id, fullName
FROM test
ORDER BY FIND_IN_SET('Jordan', REPLACE(fullName, ' ', ',')), fullName;
检查此链接SQL FIDDLE DEMO
输出
| ID | FULLNAME |
|----|-------------------|
| 1 | Jordan John |
| 2 | Michel Jordan |
| 4 | Tom Jordan Robert |
| 3 | Adam Mark Jordan |
关于mysql - 如何使用CodeIgniter ActiveRecord按字母顺序对MySQL结果进行排序,但搜索条件是否匹配?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14241167/