繁体   English   中英

SQL/HIVE - 不同计数查询 - SELECT COUNT (DISTINCT columns,..) 与带有 DISTINCT 记录子查询的 SELECT COUNT(*) 有何不同

[英]SQL/HIVE - Distinct count query - How does SELECT COUNT (DISTINCT columns,..) differ from SELECT COUNT(*) with subquery of DISTINCT records

在 HIVE 中,我尝试使用 2 种方法获取不同行的计数,

  1. SELECT COUNT (*) FROM (SELECT DISTINCT columns FROM table);

  2. SELECT COUNT (DISTINCT columns) FROM table;

两者都产生了不同的结果 第一个查询的计数大于第二个查询。 它们的工作方式有何不同? 提前致谢。

对您的查询稍作更改,即为您的子查询命名,例如:

SELECT COUNT (*) FROM (SELECT DISTINCT columns FROM table) myquery;

hive试试这个:

SELECT COUNT (DISTINCT nvl(columns,'NA')) FROM table;

或:

SELECT COUNT (DISTINCT coalesce(columns,'NA')) FROM table;

以上查询输出将与以下相同:

SELECT COUNT (*) FROM (SELECT DISTINCT columns FROM table);

暂无
暂无

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

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