Sql 配置单元查询|在DML中使用group by

Sql 配置单元查询|在DML中使用group by,sql,hive,hql,hiveql,rdbms,Sql,Hive,Hql,Hiveql,Rdbms,我创建了一个配置单元表,如下所示: create table db.tab_temp as select col1,col2,col3 from db.tab; create table db.tab_temp1 as select col1,col2,col3 from db.tab group by col1,col2,col3; 在此之后,我运行下面的查询并得到了一些行 select col1,col2,col3,count(*) from db.tab_temp group by c

我创建了一个配置单元表,如下所示:

create table db.tab_temp as select col1,col2,col3 from db.tab;
create table db.tab_temp1 as select col1,col2,col3 from db.tab group by col1,col2,col3;
在此之后,我运行下面的查询并得到了一些行

select col1,col2,col3,count(*) from db.tab_temp group by col1,col2,col3 having count(*) >1;
然后,我创建了另一个具有以下相同结构的配置单元表:

create table db.tab_temp as select col1,col2,col3 from db.tab;
create table db.tab_temp1 as select col1,col2,col3 from db.tab group by col1,col2,col3;
现在对于下面的查询,我没有得到任何行

select col1,col2,col3,count(*) from db.tab_temp1 group by col1,col2,col3 having count(*) >1;

任何人都可以解释原因吗?

您的意思是最初您得到查询的输出,但在您没有得到相同查询的输出后,请检查您的两个查询是否相同,甚至表名也是“从db.tab\u temp组中按col1,col2,col3 having count()>1选择col1,col2,col3;”@Strick Yes对于第一个查询,我得到了输出,但是对于第二个查询,没有得到任何结果。两个表的唯一区别是创建方式。对于第二个表,我使用了group by.@PawanKumar,可能是
having count(*)>1
条件失败。您是否检查了
计数(*)
值?您能否发布样本数据,以便我们复制该问题并进行进一步检查。@ARUNPLANISAMY,count(*)本身在select语句中提到,我正在获取第一次查询的值。@PawanKumar,您是在上次查询中检查
tab_temp
还是
tab_temp1
?我认为应该是
tab_temp1
。否则,第二次查询和第四次查询完全相同