区别于Hive中的特定列

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

Mat*_*one 5

一些选择:

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)