Ah。2つの非常に異なるものをカウントしているため、UNION ALL がこのクエリの正しい方法です。discourse_reactions_reactions にエントリがない投稿をカバーするには、外部結合が必要です。それを追加するとクエリがタイムアウトしたため、問題が解決するかどうかを確認できません。いずれにしても、UNION がここで正しい答えです。
ただし、post_actions がいいねの数を過剰にカウントするのではないかと少し気になっています。いいねをした後にそのリアクションを削除または変更した場合を考慮していますか?
College Confidential ではいいねに
を使用していたため、クエリで ‘heart’ を ‘+1’ に変更する必要がありました。以下は、そのクエリの結果です。
| reaction | count |
|---|---|
| 2089798 | |
| 28167 | |
| 27070 | |
| 24676 | |
| 24055 | |
| 16778 | |
| 5325 | |
| 4590 | |
| 3547 | |
| 3078 | |
| 2623 | |
| 2443 | |
| 369 | |
| 43 |