繁体   English   中英

配置中具有多个列的Hive查询并按一列分组

[英]Hive Query with multiple Columns in Select and group by one column

我有以下数据集的示例图像和预期的结果。 在具有十亿条记录的数据集中,实现这种结果的最佳方法是什么。 我们应该使用中间临时表还是在1查询中。

要求:-获取表中具有2条以上记录的SN的所有记录,并仅显示价格为100的记录

在此处输入图片说明

CREATE TABLE test(
  `sn` string, 
  `itemA` string, 
  `itemB` string, 
  `price` int)

insert into table test values ('1','A','D',100),('1','B','E',100),('1','C','F',200),('2','A','D',100),('2','C','F',200);

使用窗口功能:

select t.*
from (select t.*, count(*) over (partition by sn) as cnt
      from test t
     ) t
where cnt > 2 and price = 100;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM