私はmysqlデータベースを持っています。 このデータベースに投稿を保持するテーブルを作成しました。MYSQLデータベースから子レコードを効率的に選択する
テーブルには、次の列があります。
p_id (primary key), post_header, creation_date, post_body, r_id, u_id
ので、各レコードは、ポストを表します。
r_id
参考資料p_id
、それがヌルでない場合は、p_id
(または投稿ID)への返信であることを示します。
私の問題は、1つのクエリですべての投稿を取得し、各投稿へのすべての返信をその下にグループ化することです。
例は、結果セット:
私はこのような機能により、グループを使用してみました:
SELECT * FROM global_post group by r_id order by creation_date desc;
が、それはしかし動作しません。このようにレコードをグループ化できるメカニズムはありますか?
私は、各副問合せする必要がありますする必要はありませんあなたはセクション
order by Case when r_id is null then p_id else r_id end
「groub by」節を調べることをお勧めします。それはあなたを助けるはずです。 – Alam
私が使ったクエリで間違いました。私の編集内容を見てください。私が試したクエリは 'SELECT * FROM global_post group by r_id order by creation_date desc;'私はこれを行うとトリックだと思っていましたが、そしてそれは正しく見えません。 – SanzioSan