【发布时间】:2017-10-22 22:09:26
【问题描述】:
exTab
PK col1 col2 col3
---------------------------------
1 val1 val4 val7 **want to return this row only
2 val1 val4 val8
3 val1 val4 val8
4 val1 val5 val9
5 val2 val5 val9
6 val2 val5 val9
7 val2 val6 val0
8 val3 val6 val0
如何使用 SQL(使用 mySQL)仅返回 col1 中具有多个相同值且 col2 中具有多个相同值但在 col 3 中具有唯一值的行?
例如,在上表(exTab)中,val1 在 col1 中出现 4 次,对于这 4 次出现,val4 在 col2 中出现 3 次,但是对于这 3 次出现,val7 在 col3 中仅出现一次,所以我想返回这一行(第 1 行)。给定条件,第 1 行将是我希望从此表返回的唯一行。
我尝试了各种与 group by 的组合,count > 1,distinct,where not exits,等等都无济于事。这是我的第一篇文章,如果我做错了什么,我深表歉意。
【问题讨论】:
-
您应该包含您尝试过的内容,否则您的问题可能被解释为要求我们代替您完成您的工作。这样的问题很可能会吸引反对票和接近票。
-
感谢@Shadow 的建议。看起来我最接近的是基于 FuzzyTree 的解决方案 stackoverflow.com/questions/23860490/…>。但我搞砸了添加第二个连接的语法,他的解决方案不需要,但你搞定了。