php - 将 MySQL 中的查询中的相似条目分组到一起

标签 php mysql sql while-loop

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

例如现在我的代码显示:

纽约 - 肯尼迪机场

纽约 - 拉瓜迪亚

洛杉矶 - LAX

但我希望它显示:

纽约 - 全部

纽约 - 肯尼迪机场

纽约 - 拉瓜迪亚

洛杉矶 - LAX

感谢任何帮助。提前致谢

$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>";
                   }

最佳答案

如果这是您的查询:

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 并不是真正为这种类型的演示操作而设计的。不过,这是可以做到的。

关于php - 将 MySQL 中的查询中的相似条目分组到一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25947817/

相关文章:

php - 在 php 中打开其他 URL 以便在用户完全看到其他内容时打印它(在后台打印)

php - 在尝试创建数据库之前检查用户权限

mysql - LEFT JOIN 不为不匹配的行创建 NULL 记录

SQL Server 将一行添加到另一行但仅针对一列

php - 像在 JQuery 中一样在 JavaScript 中调用函数

php - 检索和解析与 MySQL 结果相关的 XML 记录

mysql - 帮忙做一个mysql查询

php - Cakephp 3.x : SQLSTATE[HY000]: General error: 11 database disk image is malformed

MySQL:查找具有数据库给定权限​​的所有用户

mysql - 如何从MYSQL数据库中恢复已删除的行