我有一个带有两列的行的表
A 1
A 2
B 1
B 3
C 1
C 2
C 3
我只想从这个 ID(a,b or c) 中得到只有 2 行的值为 1,2,所以从这个表中我应该得到 a,因为 b 没有 2 行,而 c 有行与 1 和 b,但也有与 c..
获得这一行的最简单方法是什么?
最佳答案
SELECT col1
FROM YourTable
GROUP BY col1
HAVING COUNT(DISTINCT col2) =2 AND MIN(col2) = 1 AND MAX(col2) = 2
或另一种可扩展到 2 个以上数字的方式
SELECT col1
FROM yourtable
GROUP BY col1
HAVING MIN(CASE
WHEN col2 IN ( 1, 2 ) THEN 1
ELSE 0
END) = 1
AND COUNT(DISTINCT col2) = 2
关于sql - 选择问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7287387/