Php 使用MATCH和country&;从MySQL获取数据;将结果限制为具有类似名称的列中的一个条目
我有一个表,其中有一列“name”和另一列“description”Php 使用MATCH和country&;从MySQL获取数据;将结果限制为具有类似名称的列中的一个条目,php,mysql,match-against,Php,Mysql,Match Against,我有一个表,其中有一列“name”和另一列“description” --- Name ---|--- Description --- ------- John | abc123 ------- John | def456 ------- John | ghi789 ------- Terry | abc123 ------- Terry | def456 ------- Terry | ghi789 当我对使用匹配时,我得到3个输出。我需要的是只返回1值 此外,我还有一个“Joh
--- Name ---|--- Description ---
------- John | abc123
------- John | def456
------- John | ghi789
------- Terry | abc123
------- Terry | def456
------- Terry | ghi789
当我对使用匹配时,我得到3个输出。我需要的是只返回1值
此外,我还有一个“John”页面,其中给出了所有3个“描述,因此我无法使用
SELECT John WHERE description = 'abc123';
使用它进行搜索因此,对于'john terry'的$searchquery,我试图获得的输出是$row['name']应该是('john','terry'))
我只需要它是一个输出,即,“John”&“Terry”,而不是3次*“John”*和3次*“Terry”*,我将通过mysql\u fetch\u array
获取它,并在循环中使用该数组
请建议是否可以这样做
提前感谢您的时间和回复
快乐编码 在对查询的匹配结束时使用限制1
将结果限制为一个使用分组依据
所以你的问题是:
SELECT name FROM tableName WHERE MATCH(name) AGAINST("' . $searchQuery . '") GROUP BY name;
这会奏效的 只需在查询中使用LIMIT 1,即可获得一个结果thanx,但实际上我有一个问题,因为我正在搜索数据库,并且我已更新了该问题。请耐心地再次查看该问题。但我有一个不同的问题,因为我正在使用循环并通过数据库进行搜索,所以我需要将一个“名称”限制为1,然后使用一个查询将另一个“名称”限制为1。这不是一个新问题,我只是没有用显式的详细信息解释它。选择group_concat(不同的名称)