什么是SQL查询列出所有具有2列子行作为重复项的行?

我有一个具有冗余数据的表,我正在尝试识别所有具有重复子行的行(缺少更好的单词).通过子行我的意思是仅考虑COL1和COL2.

所以,假设我有这样的事情:

 COL1   COL2   COL3
 ---------------------
 aa     111    blah_x
 aa     111    blah_j
 aa     112    blah_m
 ab     111    blah_s
 bb     112    blah_d
 bb     112    blah_d
 cc     112    blah_w
 cc     113    blah_p

我需要一个返回此的SQL查询:

 COL1   COL2   COL3
 ---------------------
 aa     111    blah_x
 aa     111    blah_j
 bb     112    blah_d
 bb     112    blah_d
最佳答案
这对你有用吗?

select t.* from table t
left join ( select col1, col2, count(*) as count from table group by col1, col2 ) c on t.col1=c.col1 and t.col2=c.col2
where c.count > 1

转载注明原文:什么是SQL查询列出所有具有2列子行作为重复项的行? - 代码日志