SELECT rideid, year, model, rating, SUM(Relevance) as SearchRelevance FROM( SELECT rideid, year, model, rating, 1 as Relevance FROM cars WHERE cat LIKE '%$keyword%' UNION ALL SELECT rideid, year, model, rating, 1 as Relevance FROM cars WHERE cat2 LIKE '%$keyword2%') AS t GROUP BY rideid ORDER BY SUM(Relevance) DESC ";
大家好,我在其他成員的幫助下得到了這個很棒的查詢,它在基於相關係統對結果進行排序時非常有效。因此,當我的兩個搜索條件都滿足時,這些結果將首先排序。僅限於相關結果 - MYSQL
問題是顯示結果中顯示不符合兩個標準(僅匹配1個標準)的結果,但是以較低的順序顯示。我想實際上垃圾清除這些結果,有沒有一種方法來優化此查詢,以便返回的唯一結果是滿足這兩個條件的結果?
將LIKE更改爲=不是一個選項,因爲結果字段是textareas,因此mysql需要在textareas中搜索關鍵字。
謝謝
那些「$關鍵字」和「$關鍵字2」值是否來自用戶輸入?確保你沒有在這個查詢中引入SQL注入漏洞。 – Wyzard