【问题标题】:PHP MYSQL query sort per categoryPHP MYSQL 查询按类别排序
【发布时间】:2013-04-13 09:49:48
【问题描述】:

我有以下疑问:

SELECT projects.project_name, files.file_name
FROM `projects` JOIN `files` ON (projects.project_id = files.project_id)
ORDER BY projects.project_name ASC, files.file_name ASC

例如输出:

Project1 - file1
Project1 - file2
Project2 - file3
Project2 - file4

在 PHP 中,我使用以下方法提取这些值:

while ($row = mysql_fetch_assoc($result)) {}

我不知何故想要这样的输出:

Project1 - file1, file2
Project2 - file3, file4

我该怎么做?谢谢。

【问题讨论】:

    标签: php mysql sql output


    【解决方案1】:

    您可以使用GROUP_CONCAT() 直接在MySQL 中执行此操作

    SELECT  projects.project_name, 
            GROUP_CONCAT(files.file_name) file_name
    FROM    projects
            INNER JOIN files 
                ON (projects.project_id = files.project_id)
    GROUP   BY projects.project_name
    ORDER   BY projects.project_name ASC, 
               files.file_name ASC
    

    【讨论】:

      【解决方案2】:

      请停止使用任何标有 mysql* 的函数 mysql 已被弃用。 PDO 更易于使用,并且正在积极开发中。

      http://www.php.net/manual/en/mysqlinfo.api.choosing.php

      请注意 mysql_fetch_assoc() 函数上的大红色警告横幅。

      http://php.net/manual/en/function.mysql-fetch-assoc.php

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-08-05
        • 1970-01-01
        • 2015-07-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多