我正在执行一个不提供所需输出的SQL查询:
表:
-----------------------
| col1 |
----------------------
| data for hello user |
| data |
-----------------------
sql query Select * from table where col1 like'%data%' or col1 like '%for%' or col1 like '%hello%' ;
它向我展示了:
-----------------------
| col1 |
----------------------
| data |
| data for hello user |
-----------------------
但由于data for hello user
与sql类似的操作最大匹配,因此data for hello user
首先出现data
秒
请帮帮我
谢谢。
答案 0 :(得分:1)
在互联网上搜索mysql的全文搜索。 您可以获得您要搜索的内容。
实施例
CREATE TABLE tableName (
tablekey INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
col1 VARCHAR(200),
FULLTEXT (col1)
);
SELECT col1, MATCH(col1) AGAINST('data for help') AS accuracy
FROM table
WHERE MATCH(col1) AGAINST('data for help')
ORDER BY accuracy DESC
将返回类似
的内容-------------------------------------
| col1 | accuracy |
-------------------------------------
| data for hello user | 70 |
| data | 10 |
-------------------------------------