我有一张table:
--------------------------------------------------------------
|author_id | content |
--------------------------------------------------------------
| 54 | I ate an apple and an orange for breakfast. |
| 63 | Going to the store. |
| 12 | Should I wear the orange shirt? |
--------------------------------------------------------------
我想找出有单词的行 apple , orange
运行查询 SELECT * FROM books WHERE content LIKE "%apple%" OR content LIKE "%orange%"
返回正确的值,但是因为true查询将包含2个以上的值,所以我想知道是否可以告诉sql按大多数匹配对结果进行排序,例如首先是包含apple和orange的行
2条答案
按热度按时间wh6knrhe1#
你可以用
MATCH(..) AGAINST (... IN BOOLEAN MODE)
计算一个你可以ORDER BY
但要使用它,你必须像塔德曼在评论中说的那样添加全文索引。请参见演示
ldxq2e6h2#
如果你对同一个词在同一个词中出现的次数不感兴趣
content
,您可以尝试以下操作:在线示例:
小提琴