当一列不同时,如何选择不重复的行

  • 本文关键字:选择 何选择 一列 hive
  • 更新时间 :
  • 英文 :


这是我的表,有4列:

a b e d
a f c d

我想得到所有的第1列和第4列,这样前两行将在示例中合并为一行,因为它们是相同的:

a d
a d

当我使用命令时:

select column1, column4 from my_table;

这会自动删除重复项吗?若并没有,如何获得只有1列和4列的不同行?

一个小问题
您想删除重复数据还是只想select非重复数据
如果你想删除重复的数据,它将是这样的-

insert overwrite my_table
select * from my_table
join ( 
Select col1||col2||col3||col4 key, row_number() over (partition by col1,col4 order by col1 ) as rn
from my_table) rs on rs.key = col1||col2||col3||col4 and rs.rn=1

如果你想select唯一的col1和col4,而不想更改底层数据,你可以简单地启动

select distinct column1, column4 from my_table;

最新更新