Php 仅返回重复行中的一行

Php 仅返回重复行中的一行,php,mysql,Php,Mysql,我正在访问一个与公司名称相关的数据库。名称在表中是唯一的。可以有多个人拥有同一家公司。如果公司实例重复,我只需要返回一次,这样我就可以根据公司显示信息。我的代码如下: $result = $pdo->query('SELECT * FROM vendoreducation WHERE company LIKE "TestCompany" GROUP BY company'); 这显然行不通,我不想具体说明个别公司。我只想能够返回数据库中所有公司的列表。如果有多个条目具有相同的公司名称,只

我正在访问一个与公司名称相关的数据库。名称在表中是唯一的。可以有多个人拥有同一家公司。如果公司实例重复,我只需要返回一次,这样我就可以根据公司显示信息。我的代码如下:

$result = $pdo->query('SELECT * FROM vendoreducation WHERE company LIKE "TestCompany" GROUP BY company');
这显然行不通,我不想具体说明个别公司。我只想能够返回数据库中所有公司的列表。如果有多个条目具有相同的公司名称,只需返回其中一个条目

编辑
我选择的答案是正确的,但我最终选择的答案是
m.buettner
的答案。

使用
DISTINCT

$result = $pdo->query('SELECT DISTINCT * FROM vendoreducation WHERE company LIKE "TestCompany"');

$result=$pdo->query('SELECT*,从供应商教育中,公司如“TestCompany”按公司限额分组1')


$result=$pdo->query('SELECT distinct*FROM vendoreducation WHERE company LIKE“TestCompany”GROUP BY company')

我想在评论中要求澄清,但我缺少代表,对不起。如果每个公司只需要一行,那么其他列是什么也不重要吗?还是你真的只想找出所有公司的名单

对于后者,这应该做到:

$result = $pdo->query('SELECT DISTINCT company FROM vendoreducation;');
当然,您还可以包括任何列,这些列对于同一公司的所有行都是相同的。但是,由于某些列可能具有不同的值(如您提到的名称),因此将
DISTINCT
*
一起使用可能会再次给出所有行


编辑:如果您希望每个公司有一整行,您只需使用上行检索到的所有公司列表,然后依次对每个公司使用
LIMIT 1
解决方案,为每个公司查询一行即可。但也许你应该考虑一下,这是否是一个选项(即,如果你可以更改数据库)。

选择之后添加
不同的
,或者限制1将在第一次匹配时停止。我应该在接受另一个答案之前澄清更多,因为你所说的是最终我已经做了。。。我过早地接受了另一个,因为它涵盖了我需要的前提。没关系,这里的事情发生得太快了。然而,如果这是你真正想要的,你仍然可以抽出一票来提醒那些在有同样问题时发现这个问题的人;)。。。编辑:您也可以将该澄清编辑到您的问题中,供稍后会发现此问题的人使用。