这是我第一次发表的手记,有些内容理解的还不是很透彻,只是将自己的想法写下来,以便于加深自己的印象。
首先,我在接触hive的时间还不到一个月,今天是刚好满三周,对于hive中的count的用法我一直是很迷糊的。一开始看慕课网上面教的只是count(列明)的用法,但是随着自己越来越深及接触到hive发现count不仅仅是这一种肤浅的用法。随后自己又通过阅读了一些博客园上面各个大神们的文章后,逐渐的对count的用法又有了一些了解。
接下来我与大家分享一下,同时也整理一下自己的思路。
count最直白的理解是用来查个数的,这是我个人在看网上资料的时候总结出来的一个绝对不是规范的说法,这一点我必须承认。
count按照官方的说法是用来查行数的,但是我个人认为理解为查个数的话会更好理解一些。
我个人比较喜欢动漫,就用它来举个例子。
相信大家都看过火影,火影中的人物众多,我们就将这些个任务的一些信息全部总结在一张表中。在一个表中有几列这样的字段:人物的姓名、年龄、性别、出生日期、死亡日期(由于火影是一个高危的世界,有人死了很正常。)、身高、体重、战斗力等等。这中间肯定有一些人物的信息是相同的:比如说年龄,出生日期等等。
在正常的工作中一般是根据以上的类型让你插出满足各种条件的人数有多少个,这时count的用法就显得极为重要。
那么我们就来查询一个:与鸣人年龄相同的人有多少个。这时候我们就需要知道鸣人的年龄是多少:
select age,name(人物的编号是必不可少的一个字段) from table where name = '鸣人';
这时,我们就知道了鸣人的年龄。接下来,我们就通过这个年龄来查询与他相同年龄的人数:
select age,id(人物的编号是一个必不可少的字段,在以后的工作或学习中少不了因为需要类似于ID这样的字段而去关联其他的表)from table where age = '12'(假设鸣人的年龄为12岁) group by age,id ;
select count(ID) from 上一个表的表名 where age=‘12’;
这时,我们就查出了一共有多少个与鸣人相同年龄的人了。
----------第一部分--------------
共同学习,写下你的评论
评论加载中...
作者其他优质文章