亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

關于hive中的count的用法(二)

標簽:
大數據

前面介绍了一种最简单的一种count的用法,但这种用法一般情况下是很少会被直接这样使用。这个count的灵活之处就在于“无孔不入”。什么意思呢?下面我来给举个例子。
一般情况下我们在查询个数的时候都习惯于count(列名),于是就有人想到我能不能用count()来查询个数呢?
答案当然是可以的。
依然就拿火影来举例子。上一次我们查了与鸣人年龄相同的共有多少人,这一次我们在用不同的方法来查一下。首先,我们还是要知道鸣人的年龄是多少,这一句话相信大家都会写。那么接下来才是关键,怎样用count(
)来表示我们要查的数量呢。
我们要使用这种用法就必须再写一句sql:select id from 上一个表的表名 where age = '12';
select count() from 上一个表的表名;
这样就可以用count(
)来查询了。
这尼玛也太麻烦了吧,我还要在写一句sql,像之前那样直接count(列名)不就好了吗,干嘛还这样麻烦!!
没错,的确是麻烦。但是在正常的学习工作中真正用到的是另外一种用法。
举个例子:
select name,age,sex,birthday,death_day,count() num
from 表名 where age = ‘12’ group by name,age,sex,birthday,death_day;
这种用法才是正常工作中经常用到的一种。那么这是什么意思呢?
这是一种典型的group by与count(
)结合的用法。这种用法我们一开始并不好理解,但是如果不看count()这个的话我们都知道这是一种分组的写法,那么分完组之后就表示每一种情况都会有,但是却不重复。我们再来看count()这个。既然已经分完组又不重复的话,count()是什么意思呢?
我们简单的来做一个分析。
分完组后,每一种情况不重复:鸣人的年龄是12岁,那么与他年龄相同的孩子们的资料都是什么,group by后面的字段与前面查询的字段要保持完全一致才能够分为一组。
而count(
)就表示根据上面的情况分完组后,一共有多少组。
===========第二部分完===========

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消