我从事一个项目已经有一段时间了。现在我已经到了一个地步,我想不出一个 MySQL 查询会返回我按其父级分组的所有行。这是我拥有的表结构:
+----+-----------+------+
| id | parent_id | name |
+----+-----------+------+
parent_id 值有 8 个(1-8),每个 parent_id 有 20 个 id 值(共 160 个)。我检索所有类别并按 parent_id 分组的方式是这样的:
$categories = array();
for ($i = 1; $i <= 8; $i++) {
$query = $this->db->query("
SELECT id, name
FROM categories
WHERE parent_id = {$i}
ORDER BY name
");
$categories[$i] = $query->result();
}
return $categories;
有没有办法组合一个 MySQL 查询来为我做这件事?
这不起作用:
SELECT id, name
FROM categories
GROUP BY parent_id
ORDER BY name