【发布时间】:2015-02-04 21:32:57
【问题描述】:
这是我假设的表格,(我们称之为 Table Watched)
MovieID, UserID, Date
---------------------
1 1 June
1 2 June
2 3 July
2 2 August
3 1 August
3 2 August
4 1 August
我想获取只有用户 1 或 2 观看的所有电影。所以,在这种情况下,结果应该是:
MovieID
--------
1
3
4
所以,我想写一个类似的查询,
SELECT MovieID FROM Watched GROUP BY MovieID HAVING ALL UserID in (1,2)
它不起作用。我不确定是否还有另一个与我现在想的方式相同的工作查询。我的想法如下,
- 使用 MovieID 对所有记录进行分组
- 消除除 1 或 2 之外的其他用户的组
这样做的正确方法应该是什么?
PS:我使用的是 Oracle Database 12c。
【问题讨论】:
标签: sql group-by having oracle12c