use*_*618 4 sql select sql-server-2005 relational-algebra
我有一个包含两列的行的表
A 1
A 2
B 1
B 3
C 1
C 2
C 3
Run Code Online (Sandbox Code Playgroud)
我想从这个只得到这个ID(a,b或c)只有2行值1,2,所以从这个表我得到一个,因为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
Run Code Online (Sandbox Code Playgroud)
或者另一种可扩展到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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
98 次 |
| 最近记录: |