2012-10-06 52 views
-1

我分组在汽车表型号区域分组,但我只得到一个,一个结果是,所有的istead,从分组每个differend楷模。没有得到一个表中其他字段的所有结果,如果其中一个字段是由

假设有三个1990,19190,1990根据moldel领域和三个汽车铃木,本田,tyota是undel car_name其模型是1990年。但我得到的结果只有一个汽车名称根据1990年的模型。 Plz帮助我。

  $sql=mysql_query("SELECT * FROM cars group by model "); 
    while ($row=mysql_fetch_array($sql)) { 
     $car_name=$row['car_name']; 
     $model=$row['model']; 


      ?> 

    <table> 

     <tr> 
      <td><?php echo $model ?></td> //here is displaying 1990. 

     </tr > 
     <tr > 
       <td> <?php echo $car_name; ?></td> // but here is displayed only onr car name istead of all. 

     </tr> 

    </table> 



    <?php 

     } 
+0

难道他们都没有出现在3个不同的表? –

+0

为什么你把'GROUP BY模型'放到你的SQL中?没有该子句的查询的结果是否有问题? – eggyal

+0

@eggyal我按模型字段分组以避免显示重复的结果。 –

回答

0

当您按特定列进行分组时,您只需要为该列的每个值要求一行。如果你想1990年本田和1990年铃木,你应该使用GROUP BY car_name, model获得这一对列的所有独特组合。

BTW,没有你的模型列包含年?汽车模型的名称如雅阁,凯美瑞,Celica。

编辑:

我觉得这是你要找的东西:

SELECT model, GROUP_CONCAT(car_name) 
FROM cars 
GROUP BY model 
+0

谢谢,我不想车型的repetation,也要Ø获得所有relted模型 –

+0

看到我的编辑答案的结果。 – Barmar

+0

,感谢ü所以much.it worked.but我正在geeting车名为“本田,丰田,铃木” - 这意味着名与inside.how可以命名方式被显示为list.i使用
标签逗号,但它没有工作.thnks –

-1

我认为,应该工作

<table> 
    <?php 
    /* use this if doing process elimination. 
     $q = '1990'; 
     $sql=mysql_query("SELECT * FROM cars WHERE model = '$q' "); 
    */ 
    $sql=mysql_query("SELECT * FROM cars WHERE ORDER By model ASC "); 
    while ($row=mysql_fetch_array($sql)) { ?> 
     <tr> 
      <td><?php echo $row['model']; ?></td> //here is displaying 1990. 

     </tr > 
     <tr > 
       <td> <?php echo $row['car_name']; ?></td> // but here is displayed only onr car name istead of all. 

     </tr> 
<?php  }  ?> 
    </table> 
+0

谢谢,它没有工作! –

相关问题