mysql根據相關匹配度推薦結果

2021-09-02 13:43:09 字數 1371 閱讀 5322

專案要求:

1. 優先匹配胖瘦、身高、風格全部一致的

2. 如果沒有找到或內容出完,匹配胖瘦和身高一致的

3. 如果沒有找到或內容出完,匹配胖瘦一致的

4. 如果沒有找到或內容出完,匹配任意條件一致的

5 .如果沒有找到或內容出完,不再推送資料

sql寫法:

select

user_id,

user_icon,

user_name,

user_level,

introduce,

att_count,

image_info_list,

( select

count(*)

from

where

user_id =23026

and att_id = main_page_daren.user_id

) as user_att,

'daren' as type,

case body_high

when body_high = '高挑' then 1

else 0

end as high_***,

case body_fat

when body_fat = '骨幹' then 1

else 0

end as fat_***,

case

when style like '%休閒風%' then 1

when style like '%浪漫風%' then 1

when style like '%潮酷風%' then 1

when style like '%甜美風%' then 1

when style like '%文藝風%' then 1

else 0

end as style_***

from

`main_page_daren`

where

1 <> 1

or body_high = '高挑'

or body_fat = '骨幹'

or age = '學生黨'

or (

style like '%休閒風%'

or style like '%浪漫風%'

or style like '%潮酷風%'

or style like '%甜美風%'

or style like '%文藝風%'

)and *** = '女'

order by

fat_*** desc,

high_*** desc,

style_*** desc,

sort desc

sql資料見附件。

MYSQL 關鍵字 相關性排序 匹配度排序

曾今我也用like kw 來查詢滿足條件的資料,但是如果遇到多關鍵字,在排序上就出現了問題,而大家當然願意把最匹配的搜尋結果排在前列,而不是按其他標準排序。打個比方,如果搜尋關鍵字 ibm 伺服器 首先,對搜尋關鍵字的處理,如下 kw preg replace s kw 替代空格,換行,tab,中文...

推薦演算法 皮爾遜相關係數的相似度

基於用的推薦程式的乙個重要的部分是使用者相似度 usersimilarity 實現。基於使用者的推薦非常依賴這個元件。如果對使用者的相似性缺乏可靠有效的定義,這類推薦方法是沒有意義的。這也適用於使用者的推薦的 近親 基於物品的推薦程式,它同樣依賴相似性。皮爾遜相關係數是乙個介於 1和1之間的數,它度...

mysql關鍵字匹配度模糊查詢

有時候專案中需要進行模糊查詢,但是要對查詢出來的結果進行匹配度排序,比如搜尋關鍵字是 北 需要把資料庫中第乙個字是北的排在前面,此時就可以用mysql的instr函式。instr 欄位名,字串 這個函式返回字串在某乙個欄位的內容中的位置,沒有找到字串返回0,否則返回位置 從1開始 例1 公升序排 s...