首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何获取一组包含所有结果、小于全部等的字段

如何获取一组包含所有结果、小于全部等的字段
EN

Stack Overflow用户
提问于 2012-06-03 03:35:29
回答 1查看 68关注 0票数 0

我需要从用户在文本字段中输入的关键字构建一个查询,它将执行以下操作:获取关键字并在表中进行搜索,之后汽车具有所有给定的关键字,少于所有关键字,并继续向下仅有一个关键字的汽车。我的表看起来像这样:

代码语言:javascript
运行
复制
field_id | car_id | keyword |
----------------------------
1        | 5       | 1989   |
-----------------------------
2        | 8       | old    |
-----------------------------
3        | 8       | ford   |
-----------------------------
6        | 8       | cheap  |
-----------------------------
4        | 7       | ford   |
-----------------------------
6        | 7       | cheap  |
-----------------------------
5        | 6       | ford   |
-----------------------------

假设用户搜索“旧”、“福特”和“便宜”,应该返回car_id 8、7和6,因为它们包含关键字。此外,我需要知道哪辆车有哪些关键字(8:“旧”,“福特”,“便宜”和7:“福特”,“便宜”和6:“福特”)。我不是MySQL方面的专家,所以我现在不知道是否可以在这里创建某种多维数组……

我有一个查询,它只选择汽车,其中输入了所有的关键字,如果它是任何用途:

代码语言:javascript
运行
复制
Select car_id from keywords 
Where keyword in ("old","ford", "cheap") 
group by car_id having count(*) = 3;    
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-03 03:38:58

你不需要有,因为它只会发送时,只有3辆车属于给定的关键字。尝尝这个

代码语言:javascript
运行
复制
Select car_id from keywords ,,GROUP_CONCAT(keyword)
Where keyword in ("old","ford", "cheap") 
group by car_id 

这将为您提供属于car的逗号分隔关键字

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10865338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档