0

次の MySQL テーブルがあるとします。

Table  Comment:
  id int not null,
  parent_id int not null,
  body text not null,
  created datetime not null

parent_id は再帰的な関係です。親がいない場合はいつでもダミー ID を割り当てることができるため、null 可能かどうかは気にしないでください。

親ごとに子のコメントを選択したい (親ごとに最新の 5 つ)。

次のようなものを使用すると

SELECT * FROM Comment WHERE parent_id in (...) ORDER BY created DESC

これにより、指定した各親のすべてのコメントが選択されますが、これは望ましくありません。

1 回のクエリで、または最も効率的な方法で、両親と第 1 学位の子供 (最大 5 人) を選択したいと考えています。

何か案が?

4

2 に答える 2

0

parent_id が null ではない?? そして、実際に親コメントになる新しいコメントを投稿したい場合はどうなりますか? この属性は 0 または何になりますか?

私は、文を調べないと思います:

select * from comment as c where c.id=NUMBER and c.parent_id in (Select id from comment as c2 where c.parent_id = c2.id )
于 2013-09-09T07:37:15.083 に答える