我有一张简单的表格:
id num
1 7
1 5
1 4
2 5
2 4
2 7
3 4
3 7
如何选择具有num 5以及7和4的id
对于此示例ids:1,2
答案 0 :(得分:3)
SELECT `id` FROM `table`
WHERE `num` IN (4, 5, 7)
GROUP BY `id`
HAVING COUNT(*) = 3
答案 1 :(得分:1)
这是zerkms回答的一个非常略微修改的版本:
SELECT `id` FROM `table`
WHERE `num` IN (4, 5, 7)
GROUP BY `id`
HAVING COUNT(DISTINCT `num`) = 3
答案 2 :(得分:0)
怎么样
;WITH T AS
(
SELECT ID, NUM, COUNT(*) OVER(PARTITION BY ID) AS ROWNO,
SUM(NUM) OVER(PARTITION BY ID) AS SUMNUM
FROM TABLE
)
SELECT ID, NUM
FROM T
WHERE ROWNO = 3 AND SUMNUM = 16