奇妙な(おそらくテーブルのデザインが悪い)クエリの質問がありますが、これを簡単に解決する方法は考えられません。
これが私が持っているようなテーブルレイアウトです:
| id | int(11) | NO | PRI | NULL | auto_increment |
| num | varchar(15) | YES | MUL | NULL | |
| type | varchar(4) | YES | | NULL | |
タイプは実際には、enum( "val1"、 "val2"、 "blah")
numは、テーブルに3つのエントリを持つことができ、3つの異なるタイプのそれぞれに1つずつあります。
必要なクエリは、「val1」と「val2」の両方のエントリを持つ「num」の個別の数の数です。
これを処理するための簡単なクエリはないと思いますが、私が思いついた唯一の解決策は、val1の個別のエントリをメモリテーブルにダンプし、val2の個別のエントリをメモリテーブルにダンプすることです。
次に、レコード数が最も少ないテーブルを特定し、小さいテーブルに基づいてサブクエリを作成し、大きいテーブルで一致する数を探します。
上記は悪いハックのように聞こえますが...
私はここで何かが足りないのですか...これを行うためのより良い方法を見ている人はいますか?