将MySQL中的查询中的类似条目组合在一起

时间:2014-09-20 10:32:21

标签: php mysql sql while-loop

我想将共享同一“城市”列的机场组合在一起。 现在它们都是并排列出的,这很好,但我想为每个有两个机场的城市添加一个额外的选项标签。

例如,现在我的代码显示:

纽约 - JFK

纽约 - 拉瓜迪亚

洛杉矶 - 洛杉矶

但我希望它显示:

纽约 - 全部

纽约 - JFK

纽约 - 拉瓜迪亚

洛杉矶 - 洛杉矶

感谢任何帮助。提前致谢

$getairportsfrom=mysqli_query($db,"SELECT * FROM details WHERE type='Airport' ORDER BY city");

                   while($rowfrom = mysqli_fetch_array($getairportsfrom)) {
               echo "<option value='".$rowfrom['title']."'>" . $rowfrom['city'] . " - " . $rowfrom['title'] . "</option>";
                   }

1 个答案:

答案 0 :(得分:2)

如果这是您的查询:

SELECT city, title
FROM details
WHERE type = 'Airport'
ORDER BY city;

您可以通过此查询获得所需内容:

select city, title
from ((select city, 'All' as title, 1 as ordering
       from details
       group by city
       having count(*) > 1
      ) union all
      (select city, title, 2 as ordering
       from details
      )
     ) d
order by city, ordering;

SQL实际上并不是为这种类型的表示操作而设计的。但是,可以这样做。