gpt4 book ai didi

mysql - 如何使用 CodeIgniter ActiveRecord 按字母顺序对 MySQL 结果进行排序,但首先使用搜索词匹配?

转载 作者:IT王子 更新时间:2023-10-28 23:47:52 26 4
gpt4 key购买 nike

假设我们在一个表中有 4 个项目:

  1. 米歇尔·乔丹
  2. 汤姆·马克·乔丹
  3. 乔丹·约翰
  4. 亚当·乔丹·罗伯特

搜索词是“Jordan”,我怎样才能得到按字母顺序排序但搜索词首先匹配的结果,如下所示:

  1. 乔丹约翰
  2. 米歇尔乔丹
  3. 汤姆乔丹罗伯特
  4. 亚当·马克 乔丹

我正在使用此代码,但没有得到我想要的:

$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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com