在oracle数据库中,怎样查询出只有一个字段的表的重复数据?

例如:怎样把下表中含有1和4的行查询出来。写出最简单的方法。
id
---------
1
2
1
1
4
1
4
5
如果表中有多个字段呢?怎样查?

方法一:可以通过group by 进行分组。
sql:select username,count(username) from tablename grop by username;
解释:以上sql就是通过分组函数读取出tablename表中username的值和每个不同值的统计个数。
方法二:可以通过distinct函数 进行去重查询。
sql:select distinct username from tablename
解释:本sql就是查询出所有的tablename表中的username值(不重复)。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-21
SELECT ID FROM TABLE WHERE ID IN (SELECT ID FROM TABLE GROUP BY ID HAVING COUNT(ID) > 1)..一个表有多个字段也是类似的,至于不想显示count(*)去掉就可以了
第2个回答  2012-12-21
select ID, COUNT(*) FROM TAB
GROUP BY ID
HAVING COUNT(*)>1追问

你的方法有可行性,但是如果我不想让我查询出来的结果显示count(*)列,怎么办?

第3个回答  2012-12-21
假如表名为t

select id from t where id in (select id from t group by id having count(id) > 1)本回答被提问者采纳
相似回答