この質問の言い方すらわかりませんでした。サンプルコンテンツと必要な出力を提供します。これを行うためのクエリを探しています。
このコンテンツで「フラグ付き」というテーブルがあるとしましょう。
content_id | user_id
1 | 1
1 | 2
1 | 3
2 | 1
2 | 3
2 | 4
3 | 2
3 | 3
4 | 1
4 | 2
5 | 1
6 | 1
6 | 4
そして、私はcontent_ids間に非対称の関係を持っています:
master_content_id | slave_content_id
1 | 2
3 | 4
5 | 6
「マスター」content_id(1、3、5)ごとに、マスターコンテンツまたはスレーブコンテンツのいずれかにフラグを立てた個別のユーザーの数をカウントしたいのですが、両方を単一のフラグとしてフラグを立てたユーザーをカウントします。つまり、上記の例では、content_id = 1は、user_id = 1(content_id=1およびcontent_id=2として)、user_id = 2(content_id = 1として)、user_id = 3(content_id=1およびcontent_id=2として)、およびuser_idによってカウントされました。 = 4(content_id = 2として!)
私が作成したいクエリの出力の例は次のとおりです。
content_id | user_count
1 | 4 # users 1, 2, 3, 4
3 | 3 # users 1, 2, 3
5 | 2 # users 1, 4
関連するcontent_idsが常に連続した奇数/偶数であるとは想定できません(つまり、66はスレーブ58のマスターになることができます)
私はMySQLを使用しており、SQLの拡張機能を使用してもかまいません(クエリはANSIであるか、少なくともほとんどのデータベースに移植可能です)