0

私は次のようなテーブルを持っています:

| thread_id | user_id |
+-----------+---------+
|     1     |    1    |
|     1     |    2    |
|     2     |    1    |
|     2     |    3    |
|     3     |    1    |
|     3     |    3    |
|     3     |    2    |
           ...

配列の組み合わせが存在し、同じスレッドに属しているかどうかを確認するにはどうすればよいですか?

元:

1,3     => return true
3,1,2   => return true
1,4,2,3 => return false

配列には数百の ID が含まれ、数百のスレッドが存在する可能性があります。

4

1 に答える 1

1
SELECT NULL
WHERE  EXISTS (
           SELECT   NULL
           FROM     your_table
           WHERE    user_id IN (1,2,3,4,..., ...)
           GROUP BY thread_id
           HAVING   COUNT(*) = n
       )

nリスト/配列内のアイテムの数はどこにありますか。

次に、スクリプトで:

  • 行が返された場合:true
  • そうしないと: false
于 2012-08-05T00:31:01.223 に答える