私はかなり長い間プロジェクトに取り組んできました。これで、親によってグループ化されたすべての行を返す MySQL クエリを考えられないところまで来ました。これは私が持っているテーブル構造です:
+----+-----------+------+
| id | parent_id | name |
+----+-----------+------+
8 個の parent_id 値 (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