gpt4 book ai didi

php - SQL search 查询匹配数组至少一半的关键字

转载 作者:搜寻专家 更新时间:2023-10-30 23:09:08 24 4
gpt4 key购买 nike

我有一个表架构。

Id, Name, Email, Description.

描述栏的每一行都有很多文字。现在我想根据用户输入的单词在该列中执行搜索。假设用户输入了五个词进行搜索。

  1. 自然
  2. 阻止
  3. 甜蜜

现在我想执行一个搜索,如果描述列的任何一行与上述五项中的至少三项中的任何一项匹配,它应该在结果集中给出该行。我不希望所有单词匹配或单个匹配。我希望在 Description 列的每一行中至少匹配三个词。我知道 LIKE 语句但是我怎样才能做到这一点才能得到我想要的结果。忽略区分大小写。我怎样才能做到这一点?谁能帮我针对我的问题进行 SQL 查询?

最佳答案

Olvathar 的想法是正确的,但它只会显示匹配或不匹配的结果。但是,如果您想获取针对此控件的记录,您应该在 where 子句中使用 if 语句来仅显示条件为真的记录。

SELECT *  FROM TABLENAME WHERE Description IS NOT NULL AND IF ( LENGTH(CONCAT(
IF (Description LIKE '%busy%', '1', ''),
IF (Description LIKE '%good%', '1', ''),
IF (Description LIKE '%nature%', '1', ''),
IF (Description LIKE '%blck%', '1', ''),
IF (Description LIKE '%sweet%', '1', '')
)) > 2, 1, 0)=1

希望这会有所帮助。

关于php - SQL search 查询匹配数组至少一半的关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22365011/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com