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

标签 sql hadoop hive hiveql

在 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;

关于SQL/HIVE - 不同计数查询 - SELECT COUNT (DISTINCT columns,..) 与 SELECT COUNT(*) 与 DISTINCT 记录的子查询有何不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38333125/

相关文章:

php - 复杂sql语句的问题

java - 无法使用 executeQuery() 发出数据操作语句

c# - SQL 过滤查询

hadoop - Apache Nifi 和 OPC 集成问题(GetValue 处理器)

hadoop - Sqoop 导出分区的 Hive 表

amazon-s3 - 无法在 aws EMR 集群中使用 hive 创建外部表,其中位置指向某个 S3 位置

mysql - 正确使用 MySQL 内存表以提高性能

java - HBase 的 Bytes.toBytes - 它的输出是有序的吗?

java - Hadoop : Code shipped from master to slave

linux - 在 shell 脚本中使用 Beeline 代替 hive