php - 使用 MATCH 和 AGAINST 从 MySQL 获取数据并限制结果以从相似名称的列中获取一个条目

标签 php mysql match-against

我有一个表,其中有“名称”列和“描述”列。

--- Name ---|--- Description ---

------- John | abc123

------- John | def456

------- John | ghi789

------- Terry | abc123

------- Terry | def456

------- Terry | ghi789

当我使用MATCH AGAINST时,我得到3输出。我需要的是只返回 1 值。

此外,我还有一个“John”页面,其中给出了所有 3 个“描述”,以便我无法使用

     SELECT John WHERE description = 'abc123';

将此用于搜索,因此对于'john terry'的$searchquery,我试图获得的输出是$row[' name'] 应该是 ('john', 'terry')

我只需要它是一个输出,即 "John""Terry" 而不是 3 次 *"John"* 和 3 次 *"Terry"* 我将通过 mysql_fetch_array 获取并在 中使用该数组>while 循环。

请建议是否可以这样做。

预先感谢您的时间和回复。

祝你编码愉快!

最佳答案

使用GROUP BY

所以你的查询是:

SELECT name FROM tableName WHERE MATCH(name) AGAINST("' . $searchQuery . '") GROUP BY name;

这样就可以了。

关于php - 使用 MATCH 和 AGAINST 从 MySQL 获取数据并限制结果以从相似名称的列中获取一个条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19442672/

相关文章:

php - 第一个主体 onload 函数或 PHP 会发生什么?

mysql - 当数据库增长时,它的运行速度往往会变慢?

php - 错误 :NO database is selected

MySQL 全文搜索和评分

Mysql Match() Against() 不起作用

mysql - 将文章标题与另一个表中列出的标签相匹配

javascript - PHP 通过 Ajax 为来自 Javascript "JSON.stringify"的对象保存在 MySQL 中?

php - 是否可以用 Goutte 解析 JSON?

从测试服务器移动到实时服务器时出现 PHP 和 mysql 错误

mysql - 查找具有共同属性的重复项