假設文章有一個欄位叫做 tags
稱他標籤好了~
每一個文章都有類似的標籤,例如
id / blog_title / tags
1 / Hi / 台北,高雄,屏東
2 / 你好 / 台北,高雄
3 / 早安 / 屏東,彰化
我想要利用 tags 找出其他有跟這篇文章相似的文章
假設我現在在瀏覽 文章1 好了
下面會出現一個延伸閱讀,他會找到有跟他類似標籤的文章並顯示
所以他會顯示 文章2 跟 文章3
如果瀏覽 文章2 ,則只會顯示 文章1 為他的延伸閱讀
如果瀏覽 文章3 ,則只會顯示 文章1 為他的延伸閱讀
SELECT blog_title FROM `blog`
WHERE tags LIKE '%{ ??? }%'
LIMIT 3
我能用何種函數在 mysql 中,就能做到這種比對?
SELECT id,blog_title FROM blog
WHERE tags REGEXP (
SELECT replace(tags,',','|') FROM blog
where 1=1
and id=1
)
and id <> 1
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'LIMIT 0, 25' at line 2
分析過程中發生 5 個錯誤。
無法辨識的關鍵字。 (near "RLIKE" at position 50)
無法辨識的關鍵字。 (near "CONCAT" at position 59)
預期之外的符號。 (near "(" at position 65)
預期之外的符號。 (near "'[[:<:]]'" at position 66)
預期之外的符號。 (near "," at position 75)