Mad*_*cks -1 sql postgresql relational-division
我不知道如何表达我的 SQL 问题,所以我会输入一个预期的场景。
| 电影ID | 标签ID |
|---|---|
| 1 | 1 |
| 1 | 3 |
| 1 | 5 |
| 2 | 1 |
| 2 | 2 |
| 2 | 3 |
| 3 | 1 |
| 3 | 3 |
| 3 | 5 |
| 3 | 7 |
我想选择至少与所有这些标签有标签关系的 movieId [1,3,5]。
所以预期的输出是1,3.
小智 5
您可以将标记聚合到一个数组中并使用 contains 运算符:
select movieid
from the_table
where tagid in (1,3,5)
group by movieid
having array_agg(tagid) @> array[1,3,5]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
143 次 |
| 最近记录: |