hadoop - hive 中的第一个()

标签 hadoop hive aggregate-functions

我有如下数据。所以我想按年份、名称和名称的第一个值进行分组。

year,name,id
2017,AAA,101
2017,AAA,102
2017,AAA,221
2018,BBB,110
2018,BBB,112
2019,CCC,501
2019,CCC,504

我想得到如下所示的输出

2017,AAA,101
2018,BBB,110
2019,CCC,501

最佳答案

对于您的数据示例,简单的 row_number 即可:

select year,name,id
  from
      (
       select year,name,id, 
              row_number() over(partition by year order by id) rn 
         from mytable
      )s
 where rn=1

关于hadoop - hive 中的第一个(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54939517/

相关文章:

java - JAVA Spark数据集中的GroupBy和聚合函数

database - 将 CSV 加载到表格时出错

hadoop - 如何使用Hadoop GIS框架加载空间数据

mysql - 在 sqoop 导出中,对于长文本,Sqoop 将列设为空

subquery - Hive 多个子查询

hadoop - 共享的外部配置单元元存储如何取决于特定版本的HDInsight(Hadoop)集群?

unix - 无法在 unix 中执行二进制文件

regex - hive 正则表达式不工作

sql - TSQL:无法对 COUNT(*) 执行聚合函数 AVG 来查找一天中最繁忙的时间

sql - Postgres : get min, 最大值,一次选择中的聚合值