2016-02-18 50 views
0

我想要顯示結果,以便行有更多的匹配應該在最上面。Mysql計數匹配的每一行,並顯示按相關性結果順序

一樣,如果我在標題內容搜索關鍵字「ABC」,然後將其計數「ABC」的總比賽的標題和內容的每一行。

假設它發現

  • 在第一排3場比賽,

  • 在第二排5點的匹配,

  • 2中第三行的匹配

然後導致首先會顯示5個匹配行,3個匹配的是 es行,等等在DESC順序

我用這個查詢,但它沒有排序正確的結果。

SELECT title, MATCH(title, content) AGAINST ('>("abc def") (abc def) <(abc* def*)' IN BOOLEAN MODE) AS relevance 
FROM articles_template 
WHERE 1=1 
     AND MATCH(title, content) AGAINST ('>("abc def") (abc def) <(abc* def*)' IN BOOLEAN MODE) 
     AND date BETWEEN '2015-02-18 00:00:00' AND '2016-02-18 00:00:00' 
ORDER BY relevance DESC 
LIMIT 0,10 
+0

全文seraches不採取occurances的數量考慮進去,但很多其他事情也是如此。但是,如果全文搜索沒有產生預期結果,那麼您需要尋找其他解決方案,例如sphynx來實現您想要的結果。 – Shadow

回答

-1

select count(title) as count from table_name group by title order by count

+0

謝謝回覆,我已經試過了。計數不會在這裏工作 –

+0

因爲我必須匹配多個單詞,這些單詞可以在任何地方在內容 –

+0

你有任何其他解決方案 –

相關問題