根據你的需求,需要再詳細一點,給一個具體的排序順序:
創新互聯公司堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都網站設計、做網站、企業官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯網時代的鹽邊網站設計、移動媒體設計的需求,幫助企業找到有效的互聯網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!
例如:首先根據什么
性別、年齡、學歷、行業、體型,是這個順序嗎?
如果是這個順序;
你在mysql查詢的時候:
select * from member order by 【性別的字段】 desc, 【年齡的字段】 desc ,【行業】desc .....等等,就可以了;
1.首先,題主應該選一個相似度的計算維度,比如content字段,type字段等;
2.其次,題主考慮一下各個字段的權重,比如type字段必須相同,則讓type字段使用typeWeight(例如賦值0.8)作為乘積的因子,而content字段本身是比較長的,所以需要計算出一個hash值,比如使用特定算法計算出一個hash值,然后把這個hash值按照16進制計算得到10進制數,再給一個權重contentWeight(例如0.2),另外再選取一個字段,比如description描述字段,再給一個權重descriptionWeight...
3.最后得到一個當前插入到表中的記錄綜合hash,typeWeight(contentHashcontentWeight+descriptionHash*descriptionWeight
+...),可能會涉及到大整數計算,不過PHP有BCMATH擴展可以使用,最終得到一個數值的綜合hash值,保存到數據庫的一個字段中,這個東西就可以理解為本條記錄的特征值。
純sql的話,應該實現不了,相似的這個應該還是PHP來處理的,排第三的都沒有相似的內容了,也要顯示。那就是所有的數據,然后再foreach來做對比判斷,我覺得可以將字符串分為數組,然后對比兩個數組的交集個數,再按交集的個數來排序
網頁名稱:數據庫記錄相似度php,數據的相似度
文章位置:http://m.kartarina.com/article44/dseedee.html
成都網站建設公司_創新互聯,為您提供軟件開發、商城網站、搜索引擎優化、網站內鏈、做網站、建站公司
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯