gpt4 book ai didi

mysql - 在类似mysql的查询中使用used关键字获取匹配结果

转载 作者:行者123 更新时间:2023-11-29 00:28:39 26 4
gpt4 key购买 nike

我正在使用具有多个关键字的 OR 条件进行 LIKE 搜索。我想知道是否有可能获得搜索结果并为该结果使用关键字。

SELECT * FROM `LOCATIONS` WHERE `location_name` LIKE '%United Kingdom%' OR `location_name` LIKE '%France%';

查询得到的是两个关键词的匹配结果,我想得到的匹配是从哪个关键词来的!

location_name                 usedKeyword

United Kingdom UK United Kingdom

Lille, France France

London, United Kingdom United Kingdom

如果 location_name 与两个关键字都匹配,我知道可能还有一个问题。我真的不知道。如何做到这一点。

例如,“英国和法国”是地点名称

为什么要这样做?

你可能会有这样的疑问,我尝试了所有可能的方法来获取位置国家名称。我有带有代码和名称的国家列表表。我喜欢用它来获取位置名称

其他一些实验

  1. reverse phrase search in zend lucene
  2. Location search query issue

PS:我知道,我可以针对每个国家分别运行查询。我对城市做同样的事情意味着成千上万,为了尽量减少查询数量,我正在寻找替代方案。

最佳答案

使用CASE 表达式:

SELECT *,
CASE WHEN location_name LIKE '%United Kingdom%'
THEN 'United Kingdom'
WHEN location_name LIKE '%France%'
THEN 'France'
END usedKeyword
FROM `LOCATIONS`
WHERE `location_name` LIKE '%United Kingdom%'
OR `location_name` LIKE '%France%';

另请参阅更正后的 WHERE 子句。您的 WHERE 子句将返回所有行。

关于mysql - 在类似mysql的查询中使用used关键字获取匹配结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17669592/

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