在 hive 中使用 group by 和 distinct 得到错误的结果

问题描述

我正在创建一个聚合表,如

create table1 as select 
  country,type_of_order,count(distinct order_no) as total_orders
from table2 
   group by country,type_of_order;

现在当我获取查询

select sum(total_orders) from table1 group by country;

我得到了不同的 total_orders 结果,但是当我在没有放置 type_of_order 维度的情况下创建聚合表时,我得到了不同的结果。 我需要匹配我的数据集

我相信 groupby 正在创建组并且我的数据在组的基础上变得不同。我需要维护 group by 子句

谁能帮我用不同的方式在 hive 中做同样的事情

注意:- HIVE 不支持查询

解决方法

首先,Hive 确实支持子查询。

其次,由于 1.1,您的数据有五个不同的值。但是,我怀疑 . 是 Stack Overflow 的函数。

可能正在发生的事情是这些值看起来就像它们是一样的。但是如果它们是字符串,它们可能有隐藏的字符——甚至是空格——使它们不同。

找到那些隐藏的字符很棘手。如果第一列只有数字,您可能希望将其表示为数字或整数。