1

定義された 2 つの分類 ID (3 & 11) の両方に一致するブログ Web サイトの投稿数をカウントするレポート ツールを作成しようとしています。データは、各行で投稿 ID (object_id) が分類 ID (term_taxonomy_id) とペアになるように構造化されています。投稿は複数のタクソノミーとペアになっているため、object_id が繰り返され、次の列は異なる term_taxonomy_id になります。

これが私が扱っているテーブルの一部です:

+-----------+------------------+
| object_id | term_taxonomy_id |
+-----------+------------------+
|      4070 |               11 |
|      4070 |               19 |
|      4074 |                3 |
|      4074 |               19 |
|      4076 |                3 |
|      4076 |               10 |
|      4076 |               11 |
|      4079 |                4 |
|      4079 |               11 |
|      4079 |               16 |
|      4081 |                3 |
|      4081 |               11 |
|      4081 |               20 |
|      4083 |                3 |
|      4083 |                4 |
|      4083 |               11 |
|      4083 |               16 |
|      4083 |               21 |
+-----------+------------------+

正しく機能している場合、上記のテーブル チャンクのカウントは、object_id 4076、4081、および 4083 をカウントして 3 になるはずです。

このクエリを使用して、カウントしたい object_ids のリストを作成できます。

SELECT object_id
FROM test_term_relationships
WHERE test_term_relationships.term_taxonomy_id IN (3,11)
GROUP BY object_id
HAVING COUNT(*) > 1

…が、数え方がわかりません。ここで関連する質問から試した方法は、term_taxonomy_id 3 または 11 のいずれかに一致するが両方に一致しない行の数 (この場合は 9 の数) を返すか、object_id の代わりに "2" の 3 つの行を返します。一致した分類 ID の数を示します - 3 & 11。

私の質問: term_taxonomy_id 3 と 11 の両方に一致する投稿の正しい数を取得するには、どのクエリを使用すればよいですか?

前もって感謝します。

4

1 に答える 1