【发布时间】:2021-12-11 03:42:09
【问题描述】:
我有一张这样的桌子
Col 1 Col 2 Col 3
1 A 1
2 A 2
3 B 1
4 C 1
5 C 2
6 D 1
我如何只获得 Col 3 = 1 的 唯一 行?
我想获得第 3 行和第 6 行(Col 2 = B 和 D 分别)。我不想要 A 或 C,因为它们也有 Col 3 = 2。
我已经尝试了一些类似的方法:
select col 2 from table group by col 2 having count(col 3) = 1
但这只会显示 Col 2 的结果,所以我不确定 Col 3 的内容是否 = 1。
编辑:对不起,伙计们,也许我没有清楚地表达我的问题。我想获取 Col 2 的所有行,其中仅包含 Col 3 = 1 AND ONLY 1。
因此,如果我尝试 WHERE Col 3= 1,它将返回 4 行,因为 A 有 1。但由于 A 也有一行 Col 3 = 2,所以我不希望这样,对于 C。从这个示例表中,我希望最终结果只显示 2 行,B 和 D。
我的示例表就是一个例子,我实际上有大约 5000 行要过滤,否则我会按照你们的建议做:)
【问题讨论】:
-
从 col3=1 的表中选择 *
-
是时候看一篇sql教程了:w3schools.com/sql/default.asp
-
对不起,伙计们,这并不像看起来那么简单。除非我遗漏了 AllisonC 从 SQL 查询中推断出的东西。
-
几分钟后更改整个问题是不好的,这会使大多数答案出错。最好问新的。
-
我没有改变我的问题,但似乎我最初是以人们误解他们的答案的方式编写的,所以我需要添加说明。如果这给您带来了问题,我深表歉意。