首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有排序结果的PHP MYSQL最简单的用户搜索技术

问具有排序结果的PHP MYSQL最简单的用户搜索技术
EN

Stack Overflow用户
提问于 2013-11-30 15:49:51
回答 1查看 63关注 0票数 0

我在mysql中有一个带有cols:user_id、first_name、middle_name、last_name的用户表,我想要一个查询,该查询将返回按最接近匹配顺序排序的user_id列表。

例如,如果我搜索约翰·f·凯内迪或f·约翰·肯迪或肯迪·f·约翰等等,将返回一组排序类似的结果:约翰·f·凯内迪为第一名,约翰·肯特为第二名,约翰·肯特为第三名,以此类推。

我的服务器脚本是php,所以一个简单高效的php算法是可以接受的,但是它应该是快速的,因为它是输入文本框时向iser发出提示的源。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-30 15:57:58

您所能做的是计算与您的查询和顺序相匹配的字段的数量:

代码语言:javascript
复制
order by (@QUERY like concat('%', first_name, '%') +
          @QUERY like concat('%', middle_name, '%') +
          @QUERY like concat('%', last_name, '%')
         ) desc

然而,这是一个相当昂贵的操作,索引无法改进。

如果您正在进行这种类型的搜索,最好是学习MySQL (start 这里)中的全文搜索功能。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20302186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档