sql查询选择一个名称,无论它提到了多少行

时间:2012-06-18 02:55:52

标签: php mysql sql distinct-values

基本上我要做的就是从列x获取信息,无论它被提到多少次。意味着如果我有这种表:

x     | y     | z
------+-------+--------    
hello | one   | bye    
hello | two   | goodbye     
hi    | three | see you

所以我要做的是创建一个查询,该查询将获得x列中提及的所有名称而不重复,并将其放入选择列表中。

我的目标是我有一个选择列表,其中包含两个选项,而不是三个选项,你好,你好

这是我到目前为止所做的工作。希望你们知道答案:

 function getList(){
 $options="<select id='names' style='margin-right:40px;'>"; 
 $c_id = $_SESSION['id'];

 $sql="SELECT * FROM names";
 $result=mysql_query($sql); 

$options.="<option value='blank'>-- Select something --</option>"   ;
 while ($row=mysql_fetch_array($result)) { 

$name=$row["x"]; 

$options.="<option value='$name'>$name</option>"; 
} 

 $options.= "</SELECT>";
return "$options";
 }

抱歉令人困惑......我编辑了我的来源

2 个答案:

答案 0 :(得分:1)

您似乎只使用x。所以你可以使用查询:

SELECT DISTINCT x FROM names

答案 1 :(得分:0)

如果这是您的查询

$sql="SELECT * FROM names";
 $result=mysql_query($sql); 

然后

$sql="SELECT DISTINCT x FROM names";
 $result=mysql_query($sql);

如果您只想要一列,则将*更改为x