Php 选择一列

Php 选择一列,php,mysql,distinct,Php,Mysql,Distinct,我有一个mysql表tmp,其中包含pid、city、state和country列。我编写查询以便找到匹配的城市、州或国家,pid是帮助我加载另一个表的字段。 问题是,总是有两行具有相同的pid,有时(当在这两行中找到匹配的城市州或国家时),我会不必要地显示来自附加表的数据两次。 因此,我需要选择如下内容: SELECT * FROM tmp DISTINCT pid WHERE city='test' 我不知道如何搜索解决方案(我在stackoverflow上搜索过,但运气不好)。 此外,此

我有一个mysql表tmp,其中包含pid、city、state和country列。我编写查询以便找到匹配的城市、州或国家,pid是帮助我加载另一个表的字段。 问题是,总是有两行具有相同的pid,有时(当在这两行中找到匹配的城市州或国家时),我会不必要地显示来自附加表的数据两次。 因此,我需要选择如下内容:

SELECT * FROM tmp DISTINCT pid WHERE city='test'
我不知道如何搜索解决方案(我在stackoverflow上搜索过,但运气不好)。 此外,此表中会有大量搜索,因此如果有多个解决方案,我会选择一个更快的解决方案。
谢谢

请尝试以下SQL语句:

SELECT DISTINCT pid FROM tmp WHERE city='test'
试试这个

SELECT DISTINCT pid,field1,field2 FROM tmp WHERE city='test'

忘记输入注释:)。这将起作用,但我想知道是否有一种方法可以选择所有列?但唯一不同的价值应该是pid@Milos911:是否希望所有列(但仅限具有
不同pid的行)
?所以,如果两行(或更多行)具有相同的
pid
,那么应该返回哪一行?可以返回任何一行,因为我使用pid加载第二个名为projects的表。我想我找到了正确的解决方案,选择DISTINCT tmp.pid,project.*左键连接project.pid=tmp.pid上的项目。这是可行的,但我不确定这样做是否正确?是的,我想知道是否有一种方法可以选择一个表中的所有列,但只有pid应该是不同的?我想这就是解决方案,这比选择*FROM tmp WHERE city='test'?这将与选择具有不同pid的记录一样有效,并将选择其他字段。。正如您在下面的评论中提到的:)我想知道你在谷歌上没有看到“mysql select*distinct one column”?欢迎来到stack overflow。在你的答案中张贴一个代码片段时,也请考虑添加一个解释你的答案为什么和如何解决OP问题。
$keyword="0";
$query = "SELECT DISTINCT titel,id FROM xyz ORDER BY titel ASC ";
$result = mysql_query($query); 
while ($row = mysql_fetch_array($result)) 
{ 
    if($keyword!==$row["titel"])
    {
        $keyword=$row["titel"];
        echo $keyword;
    }
}