解决MaxCompute SQL count distinct多个字段的方法
按照惯性思维,统计一个字段去重后的条数我们的sql写起来如下:
Distinct的作用是用于从指定集合中消除重复的元组,经常和count搭档工作,语法如下
COUNT( { [ DISTINCT ] expression ] | * } )
这时,可能会碰到如下情况,你想统计同时有多列字段重复的数目,你可能会立马想到如下方法:
select count( distinct col1 , col2 , col3 , .......) from table
但是,这样是有问题的,如果值包含空,那么我们的结果是什么呢?如果你实验过,正如你实验的一样,结果会比实际少。
a | b |
1 | null |
2 | x |
1 | null |
count 结果为1;
因为MaxCompute count多列的时候,里面只要有一列为null,就忽略,不参加计算。
这个问题怎么解
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Apache Spark + Intel Analytics Zoo 进行深度学习
Analytics Zoo 是由 Intel 开源,基于 Apache Spark 和 Inte BigDL 的大数据分析和 AI 平台,方便用户开发基于大数据、端到端的深度学习应用。本文简单介绍了如何在阿里云 E-MapReduce 使用 Analytics Zoo 来进行深度学习。 简介 Analytics Zoo是由 Intel 开源,基于Apache Spark 和 Inte BigDL 的大数据分析和AI平台,方便用户开发基于大数据、端到端的深度学习应用。 系统要求 JDK 8 Spark 集群(推荐使用EMR支持的 Spark 2.x) python-2.7(python 3.5,3.6 也支持),pip 安装Analytics Zoo Analytics Zoo 最新的 release 版本是 0.2.0 安装Scala 下载 pre-
- 下一篇
hbase之hbase常用shell命令
1、普通操作 进入shell [qiqi@c1 ~]$ hbase shell 查看当前用户 hbase(main):001:0> whoami (如果有 kerberos 认证,需要事先使用相应的 keytab 进行一下认证(使用 kinit 命令), 认证成功之后再使用 hbase shell 进入可以使用 whoami 命令可查看当前用户) 删除错误ctrl+backspace(退格键) 2、表的管理 查看表结构 hbase(main):017:0> describe 'user' 查看有哪些表 hbase(main):002:0> list 创建表 hbase(main):014:0> creat 'user','info'(表名为user,簇名为info)create 'qiqi',{NAME=>'keke',VERSIONS=>8},{NAME=>'xiaoxiao',VERSIONS=>8}(表名为qiqi,簇名keke、xiaoxiao,) 删除表,分两步:首先 disable,然后 drop hbase(main):00...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果