HIVE点滴:group by和distinct语句的执行顺序

来源:互联网 发布:淘宝直通车玉女剑法 编辑:程序博客网 时间:2024/05/17 01:45

同一条语句之中,如果同时有group by和distinct语句,是先group by后distinct,还是先distinct后group by呢?

先说结论:先group by后distinct。

 

以下是在HIVE中的验证:

1)建表:其中xxx替换为本地目录名

create external table tmp_tb(id int,content int) row format delimitedfields terminated by ','stored as textfilelocation '/tmp/xxx';
 

2)从tmp_tb文件中导入数据

load datalocal inpath '/home/xxx/tmp_tb'overwrite into table tmp_tb;
 tmp_tb内容:

1,5

2,6

2,5

2,5

3,6

 

3)仅有group by时:

select id, count(content)from tmp_tbgroup by id;
结果如下:

1 1

2 3

3 1

 

4)同时有group by和distinct时:

select id, count(distinct content)from tmp_tbgroup by id;

结果如下:

1 1

2 2

3 1

 

可见,同时有group by和distinct时,显然是先group by 后distinct。如果是先distinct,后group by,则结果应该只有两条记录,因为content只有5和6两种数值。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 被虚拟电话骚扰怎么办 一直有电话骚扰怎么办 老打电话骚扰我怎么办 总有电话骚扰怎么办 狗一直抽搐不停怎么办 右眼皮一直抽搐怎么办 打包机不停的倒带不切带怎么办 频繁被电话骚扰怎么办 一直被骚扰电话怎么办 有电话短信骚扰怎么办 收到大量验证码怎么办? 每天有陌生电话怎么办 电话不停被骚扰怎么办 水龙头的乱溅怎么办 水龙头坏了喷水怎么办 水龙头水流很散怎么办 自来水往外喷水怎么办 手机有骚扰电话怎么办 半夜到南宁机场怎么办 得了水痘坐火车怎么办 香港账户被限制怎么办 司法拍卖车扣分怎么办 速递易已超期怎么办 e栈快递换微信怎么办 e栈快递柜打不开怎么办 小孩耳朵塞东西怎么办 把隐形眼镜吃了怎么办 街道分车位不公平怎么办 服务区修车被宰怎么办 2018高速逃费怎么办 高速不停车卡怎么办 独立显卡显存不够怎么办 rx470d买不到了怎么办? 南方避险基金到期怎么办 高铁票认证失败怎么办 高铁票三个小孩怎么办 12306取消三次后怎么办 外国人护照过期了怎么办 行李丢飞机上怎么办 学生票没次数了怎么办 去美国行李超重怎么办