0

http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/を参照してください。

「ネストされたセット内の集約関数」という見出しの下

与えられた例と同様のクエリを実行しようとしていますが、サブツリー レベルで動作させたいので、MP3 プレーヤーをクエリすると、次のような結果セットが得られます。

|NAME          |COUNT|
----------------------
|MP3 PLAYERS   |  2  | // 2 because 1 at this level and 1 at child level  
|FLASH PLAYERS |  1  |
4

1 に答える 1

0

自己参照テーブル tree_node が次のように作成されると仮定します。

CREATE TABLE tree_node
(
  id serial NOT NULL,
  parent integer,
  "desc" text,
  l integer,
  r integer,
  CONSTRAINT tree_node_pkey PRIMARY KEY (id)
);

カウントは、次の SQL で取得できます。

select count(*), p.id, p.desc from tree_node c, tree_node p
where c.l<=p.r
and c.l>=p.l
group by p.id, p.desc;
于 2010-09-24T14:32:37.393 に答える