0

ノードのテーブルがあります:

nid type  created   status
2   blog  134292319 1
3   forum 134292536 1
4   blog  135921392 0

公開された (ステータス = 1) ノードの数を経時的にグラフ化するには、次のクエリを実行します。

SELECT created, type
FROM node WHERE status = 1
ORDER BY created

次に、PHP でこのデータ セットを調べて、タイムスタンプ付きのグループに分割し、各グループにノード カウントを関連付けます。結果はキャッシュされるため、実行が遅くても問題ありません。

コメントの表もあります。

nid timestamp status
2   134292363 1
3   134293234 1

フォーラムのコメント数をノード数のグラフに組み込みたい。

コメント数を取得するには、次のクエリを実行します。

SELECT timestamp
FROM comments
INNER JOIN node ON comments.nid = node.nid
WHERE
  node.type = 'forum'
  AND comments.status = 1
ORDER BY timestamp

これらの 2 つのクエリを何らかの形で組み合わせて、最終的には次のようにする必要があります (例として):

created   type
134292319 blog
134292536 forum
134293234 forum_comment

何か案は?

ありがとう。

4

1 に答える 1

1

これにより、出力例が得られますが、質問の説明に基づいて探しているものかどうかはわかりません。

SELECT created, type FROM
(
   SELECT created, type
   FROM node WHERE status = 1

   UNION ALL

   SELECT timestamp as created, 'forum_comment' as type
   FROM comments
   INNER JOIN node ON comments.nid = node.nid
   WHERE node.type = 'forum'
     AND comments.status = 1
) AS U
ORDER BY U.created
于 2012-07-30T16:59:47.093 に答える