php+mysql 怎么让一段字符串 和 数据库中的 指定字段 比较他们内容的相似度,然后按相似度排序?

表名member字段名pipei然后需要实现的是比如我的字符串是男,20岁,本科,IT行业,较胖表里如果pipei字段的值为男,20岁,本科,IT专业,较瘦这个相差最少的... 表名 member 字段名 pipei
然后需要实现的是
比如 我的字符串是 男,20岁,本科,IT行业,较胖
表里 如果 pipei字段的值为 男,20岁,本科,IT专业,较瘦 这个相差最少的结果排第一
男,50岁,本科,金融行业,较瘦 这个相差多一些的结果排第二
女,60岁,大专,影视行业,较瘦 这个差的更多的 排第三 依此类推 按关键词的相似程度排序
展开
 我来答
D丶小傻蛋
推荐于2018-05-09 · TA获得超过205个赞
知道小有建树答主
回答量:216
采纳率:83%
帮助的人:66.8万
展开全部
纯sql的话,应该实现不了,相似的这个应该还是PHP来处理的,排第三的都没有相似的内容了,也要显示。那就是所有的数据,然后再foreach来做对比判断,我觉得可以将字符串分为数组,然后对比两个数组的交集个数,再按交集的个数来排序
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
司空见灌
2016-06-27 · TA获得超过673个赞
知道小有建树答主
回答量:767
采纳率:73%
帮助的人:333万
展开全部
select * from  table  where   name like  '%123%'  or content like  '%123%' order by name

   查询   table  表    name字段像   --------123--------   或者 content字段 像--------123--------(%代表匹配多个字符)   的内容  按照name字段排序

追问
兄弟,你这就正常查询谁都会啊…
追答
(我不懂这个语句,我搜的,你试试)

问题、:
如何使sql的模糊查询结果按匹配程度排序

答:

热心网友
有个想法就是:
select * from 表 where text like '%中国%' or '%解放%'
order by replace(replace(text,'中国',''),'解放','')
这样的想法就是检查text字段包含关键字的数量,数量多的就排在前面
但是不知道有效果怎样。如果这个不行的话,我想就没什么办法在数据库里排序了。
只能在程序里做处理了吧。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
缘木低调
2016-06-27 · TA获得超过203个赞
知道小有建树答主
回答量:268
采纳率:0%
帮助的人:62.1万
展开全部
http://www.open-open.com/code/view/1431077895038/ 这个是相识度 你确定是字符串吧 别是字段 字符串的相识度 然后用相似度排序
追问
就是字段,sql里有办法做这个操作么
追答
我去 我不想说了 你字符串都麻烦了 字段 我下班了 有时间你找找大神吧~~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
niqianfuaa
2016-06-28 · TA获得超过973个赞
知道小有建树答主
回答量:2131
采纳率:0%
帮助的人:585万
展开全部
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式