我有一张这样的表:
| 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,有数百个线程。
答案 0 :(得分: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