Oracle,如何过​​滤重复的行数据?

时间:2017-10-22 09:06:44

标签: oracle oracle11g

该表有30多列,并且有许多重复的行数据,如下所示:

col_1  col_2  col_3
1      2      2
2      3      2
1      2      2
3      2      2
1      2      2
2      3      2
3      2      2

我想选择所有数据并过滤这些重复的行,过滤后,结果为

col_1  col_2  col_3
1      2      2
2      3      2
3      2      2

我发现DISTINCTGROUP BY有效,但我应该输入很多列名。有没有更简单的方法?

2 个答案:

答案 0 :(得分:2)

最简单的方法

select distinct * from table

select distinct col_1, col_2, col_3 from table

答案 1 :(得分:1)

添加@Przemo答案,最好使用select distinct * from table

您可以类似地使用select unique * from table

  

如果希望数据库仅返回所选的每组重复行的一个副本,请指定DISTINCT或UNIQUE。

但不是在分组中,

分组不能与* must specific column names一起使用:

  

GROUP BY   {     column-Name [,column-Name] *

     

column-Name必须是查询当前范围的列