我有一個MySQL數據庫表,其中包含空格分隔值的「word」列。例如:MySql:按空格分隔值列中的匹配數排序結果
one two three four five
所以上面給出的紀錄,我想找到包含一個或多個這些空格分隔值的其他記錄,並責令由數量最多的有關比賽的結果。我該如何去實現這個目標?
例如:
one two six seven eight
three nine ten eight seven
one two three six seven
one two three four ten
six seven eight nine ten
我想下面返回:
one two three four ten --4 matching values
one two three six seven --3 matching values
one two six seven eight --2 matching values
three nine ten eight seven --1 matching value
這是我使用至今查詢:
SELECT * from MyTable WHERE words like '%one%' OR words like '%two%' OR words like '%three%' OR words like '%four%' OR words like '%five%'
但是,只有選擇共享一個或多個單詞的結果。我怎樣才能跟蹤有多少匹配,並根據這個結果排序結果?
感謝您的回覆,但那不是我要找的。 – Jones 2010-08-26 18:20:26
@Jones:爲什麼不呢? – 2010-08-26 18:21:47
是的好問題 - 你想建立自己的全文搜索引擎嗎? – Doug 2010-08-26 18:32:38