这是我的示例表

Col1   Col2
 A      1
 B      1
 A      1
 B      2
 C      3

我希望能够选择不同的记录,其中所有行在 Col1 和 Col2 中都具有相同的值。所以我的答案应该是
Col1   Col2
 A      1
 C      3

我试过了
SELECT Col1, Col2 FROM Table GROUP BY Col1, Col2

这给了我
Col1   Col2
 A       1
 B       1
 B       2
 C       3

这不是我要找的结果。任何提示将不胜感激。

最佳答案

试试这个:

SELECT col1, MAX(col2) aCol2 FROM t
GROUP BY col1
HAVING COUNT(DISTINCT col2) = 1

输出:
| COL1 | ACOL2 |
|------|-------|
|    A |     1 |
|    C |     3 |

fiddle here

基本上,这确保 col2 的不同值的数量对于给定的 col1 是唯一的。

关于sql - 选择所有行在两列中具有相同值的记录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19698224/

10-13 02:27