2012-11-29 61 views
1

您好,如果有這個疑問:MySQL查詢匹配和或者

SELECT *, 
     MATCH(tags) AGAINST ('book library' IN BOOLEAN MODE) AS resources_score 
     FROM books HAVING resources_score > 0 
     ORDER BY resources_score DESC, id DESC ; 

是否有可能增加一個OR WHERE title LIKE ;

此外,由於我的查詢returnig resource_score爲10,是它有可能更多的查詢/搜索/結果的準確性?

最後,一個提示dubt,查詢匹配的準確性取決於記錄的數量?

感謝誰幫我

+0

ehmm對不起我的英文我的意思是準確性! – sbaaaang

+0

對,對不起。意識到這聽起來不那麼有趣,更有趣。 –

+0

好吧...我真的不知道如何實現OR,導致WHERE沒有OR是好的,但唯一的OR WHERE聽起來不好,真的不知道 – sbaaaang

回答

1

當一切都失敗了,你可以用算術結合SQL函數。

SELECT *, 
(title LIKE '%pattern%') + (MATCH(tags) AGAINST ('book library' IN BOOLEAN MODE)) 
    AS resources_score 
FROM books HAVING resources_score > 0 
ORDER BY resources_score DESC, id DESC ; 

當標題包含'pattern'時,這將爲MATCH()返回的分數加1。