我在Oracle中有一个表,我想选择所有重复的值,我的意思是:我可以检测到寄存器是重复的,因为某些列包含相同的值:
ColumnA ColumnB
1 A
2 A
3 A
4 B
我希望得到类似的内容:
1 A
1 A
1 A
非常感谢。
答案 0 :(得分:2)
假设您希望原始表中的所有行在一列(ColumnB)中有一些重复项,您可以使用以下查询:
SELECT ColumnA, ColumnB FROM Table
WHERE ColumnB IN (
SELECT ColumnB FROM Table
GROUP BY ColumnB HAVING COUNT(*) > 1
)
对于原始数据,将返回:
ColumnA ColumnB
1 A
2 A
3 A
如果足以获得表中多次使用的所有值,则可以使用更简单的查询:
SELECT ColumnB FROM Table
GROUP BY ColumnB HAVING COUNT(*) > 1
这将只返回一行A
。