我有一个表格,其中有列"名称"和另一个列"描述"。
--- Name ---|--- Description ---
------- John | abc123
------- John | def456
------- John | ghi789
------- Terry | abc123
------- Terry | def456
------- Terry | ghi789
当我使用匹配时,我得到 3 个输出。我需要的是只返回 1 个值。
我还有一个"约翰"页面,其中给出了所有 3 个"描述",所以我不能使用
SELECT John WHERE description = 'abc123';
使用它进行搜索,因此对于"约翰·特里"的$searchquery,我试图获得的输出是$row["名称"]应该是("约翰","特里")
我只需要它是一个输出,即"John"和"Terry",而不是 3 次 *"John"*和 3次 *"Terry"*,我会通过 mysql_fetch_array
获取并在 while
循环中使用数组。
如果可以,请建议。
提前感谢您的时间和回复。
祝您编码愉快!
使用 GROUP BY
.
因此,您的查询将是:
SELECT name FROM tableName WHERE MATCH(name) AGAINST("' . $searchQuery . '") GROUP BY name;
它会解决问题。
在
与查询的匹配结束时使用 limit 1
以限制为一个结果