php - 需要 mysql 查询帮助 - 按父级分组

标签 php mysql group-by parent-child

我正在尝试执行一个 mysql 查询,该查询将创建一个父项数组,其子项位于其下方。但我不是 100% 确定如何。这是我到目前为止所做的:

从类别中选择 * 作为 rf ORDER BY 父项,名称 ASC

这是输出的内容(数组):

Array
(
    [0] => stdClass Object
        (
            [id] => 7
            [name] => Safety Clothing
            [parent] => 0
        )

    [1] => stdClass Object
        (
            [id] => 8
            [name] => Safety Footwear
            [parent] => 0
        )

    [2] => stdClass Object
        (
            [id] => 9
            [name] => Workwear
            [parent] => 0
        )

    [3] => stdClass Object
        (
            [id] => 4
            [name] => Polos
            [parent] => 7
        )

    [4] => stdClass Object
        (
            [id] => 3
            [name] => Shirts
            [parent] => 7
        )

    [5] => stdClass Object
        (
            [id] => 6
            [name] => Jackets
            [parent] => 9
        )

    [6] => stdClass Object
        (
            [id] => 1
            [name] => Pants
            [parent] => 9
        )

    [7] => stdClass Object
        (
            [id] => 2
            [name] => Shirts
            [parent] => 9
        )

    [8] => stdClass Object
        (
            [id] => 5
            [name] => Shorts
            [parent] => 9
        )

)

正如您所看到的,子项具有父项的 id(父项设置为 0),但我不确定如何将它们合并在一起以执行类似这样的数组:

父级

-- child

-- child

父级

父级

-- child

-- child

-- child

如有任何帮助,我们将不胜感激:)

最佳答案

还有

选择父级,GROUP_CONCAT(name) 作为名称 FROM 类别作为 rf GROUP BY 1;

您将为每个父项获取一行,其中父项 ID 位于第一列,子项名称在第二列中以逗号分隔。

关于php - 需要 mysql 查询帮助 - 按父级分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4753982/

相关文章:

php - 仅提取尚未插入链接表的值

php - yii 框架上的 ajax 响应非常慢

mysql - 获取特定列中具有唯一值的行 - MySQL

c# - GroupBy 然后对每个组的结果进行聚合

php - 管理员搜索查询

php - 在 PHP 中使用内联查询与存储过程

mysql - 将所有数据从一个表传输到另一个相同的数据库

php - 使用 Group By 时,PDO MySql 中不允许出现无效参数号问题

MySQL 查询 - 每组最近的条目

java - 喜欢 Elasticsearch 中的搜索