php+mysql 怎么让一段字符串 和 数据库中的 指定字段 比较他们内容的相似度,然后按相似度排序?
表名member字段名pipei然后需要实现的是比如我的字符串是男,20岁,本科,IT行业,较胖表里如果pipei字段的值为男,20岁,本科,IT专业,较瘦这个相差最少的...
表名 member 字段名 pipei
然后需要实现的是
比如 我的字符串是 男,20岁,本科,IT行业,较胖
表里 如果 pipei字段的值为 男,20岁,本科,IT专业,较瘦 这个相差最少的结果排第一
男,50岁,本科,金融行业,较瘦 这个相差多一些的结果排第二
女,60岁,大专,影视行业,较瘦 这个差的更多的 排第三 依此类推 按关键词的相似程度排序 展开
然后需要实现的是
比如 我的字符串是 男,20岁,本科,IT行业,较胖
表里 如果 pipei字段的值为 男,20岁,本科,IT专业,较瘦 这个相差最少的结果排第一
男,50岁,本科,金融行业,较瘦 这个相差多一些的结果排第二
女,60岁,大专,影视行业,较瘦 这个差的更多的 排第三 依此类推 按关键词的相似程度排序 展开
展开全部
纯sql的话,应该实现不了,相似的这个应该还是PHP来处理的,排第三的都没有相似的内容了,也要显示。那就是所有的数据,然后再foreach来做对比判断,我觉得可以将字符串分为数组,然后对比两个数组的交集个数,再按交集的个数来排序
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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字段包含关键字的数量,数量多的就排在前面
但是不知道有效果怎样。如果这个不行的话,我想就没什么办法在数据库里排序了。
只能在程序里做处理了吧。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
http://www.open-open.com/code/view/1431077895038/ 这个是相识度 你确定是字符串吧 别是字段 字符串的相识度 然后用相似度排序
追问
就是字段,sql里有办法做这个操作么
追答
我去 我不想说了 你字符串都麻烦了 字段 我下班了 有时间你找找大神吧~~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询