Tom*_*mer 4 hive unique distinct
我正在运行Hive 071我有一个表,有多行,具有相同的列值,例如
| x | y |
| 1 | 2 |
| 1 | 3 |
| 1 | 4 |
| 2 | 2 |
| 3 | 2 |
| 3 | 1 |
我希望x列是唯一的,并删除具有相同x val的行,例如
| x | y |
| 1 | 2 |
| 2 | 2 |
| 3 | 2 |
要么
| x | y |
| 1 | 4 |
| 2 | 2 |
| 3 | 1 |
好像作为独特的作品只在蜂巢的整个rs,我找不到办法做到这一点
帮助请Tx
一些选择:
1)这将为每个x值提供y的最大值
select x, max(y) from table1 group by x
Run Code Online (Sandbox Code Playgroud)
同样你可以使用avg()或min()
2)或者,您可以在列表中收集y的所有值:
select x, collect_set(y) from table1 group by x
Run Code Online (Sandbox Code Playgroud)
这会给你:
x|y
1|2,3,4
2|2
3|1,2
Run Code Online (Sandbox Code Playgroud)