-4

私はこのようなことをしようとしています:

User_guid | Post Message | Discussion board | Total |

1 | 300 | 25 | 325 |

2 | 15 | 185 | 200 |

3 | 100 | 203 | 303 |

しかし、方法がわかりません。

私はこのクエリで投稿メッセージの結果を持っています:

SELECT COUNT( * ) as 'Quantidade' , users_entity.name , users_entity.username
FROM river 
JOIN users_entity 
ON river.subject_guid = users_entity.guid 
AND river.action_type = 'create'
AND river.view = 'river/object/thewire/create'
GROUP BY river.subject_guid ORDER BY 'Quantidade' DESC

そして、私はこのクエリで議論の結果を持っています:

SELECT COUNT( * ) as 'Quantidade' , users_entity.name , users_entity.username
FROM river 
JOIN users_entity 
ON river.subject_guid = users_entity.guid 
AND river.action_type = 'reply'
GROUP BY river.subject_guid ORDER BY 'Quantidade' DESC

しかし、これらの結果を users_entity テーブルの行として結合する方法がわかりません。インタラクションの合計は、投稿メッセージと掲示板の値の合計になります。誰かが私を助けることができますか?ありがとう。

4

3 に答える 3

1

テーブル構造とサンプル データがないとわかりにくいですが (これが反対票を獲得している理由です)、おそらく次のようなものが必要です。

SELECT
  users_entity.name,
  users_entity.username,
  COUNT(CASE WHEN river.action_type = 'create' AND river.view = 'river/object/thewire/create' THEN 1 END) AS Post_Message,
  COUNT(CASE WHEN river.action_type = 'reply' THEN 1 END) AS Discussion_Board
FROM river
JOIN users_entity ON users_entity.guid = river.subject_guid
GROUP BY
  users_entity.name,
  users_entity.username
ORDER BY ???

ORDER BY結合されたクエリでどの値が必要かわかりません。

于 2013-10-22T14:16:57.933 に答える
0

このように2つのクエリを結合してみることができます

SELECT river_create.Quantidade AS create_q, river_reply.Quantidade AS reply_q, river_create.full_name, river_create.u_name, river_create.user_id
    FROM
    (SELECT COUNT( * ) as 'Quantidade' , users_entity.name AS full_name, users_entity.username AS u_name, users_entity.guid AS user_id
         FROM river 
         JOIN users_entity 
         ON river.subject_guid = users_entity.guid 
         AND river.action_type = 'create'
         AND river.view = 'river/object/thewire/create'
         GROUP BY river.subject_guid ORDER BY 'Quantidade' DESC) AS river_create
    INNER JOIN
    (SELECT COUNT( * ) as 'Quantidade' , users_entity.name , users_entity.username, users_entity.guid as reply_user_id
         FROM river 
         JOIN users_entity 
         ON river.subject_guid = users_entity.guid 
         AND river.action_type = 'reply'
         GROUP BY river.subject_guid ORDER BY 'Quantidade' DESC) AS river_reply
ON river_create.user_id = river_reply.reply_user_id
于 2013-10-22T14:20:39.387 に答える