groupby函数_SQL数据分析GROUPBY语句这样⽤
GROUP BY语句从英⽂的字⾯意义上理解就是根据(by)⼀定的规则进⾏分组(Group)数据处理或统计。
所以group by语句通常与聚合函数⼀起使⽤。
groupby是什么函数聚合函数是什么意思?我们来看聚合函数英⽂单词aggregate function,function是函数,⽏庸置疑。aggregate可翻译为总数、总计、合计,所以两个组合起来可以翻译为汇总函数。是谁翻译为聚合的?站出来!
所以知道它是汇总统计的意思就好了,常⽤聚合函数包括计数count()、求和sum()、平均数avg()、最⼤值max()、最⼩值min()。
为了⽅便⼤家练习,我们直接使⽤之前介绍过的SQL在线模拟器,没看过的可以看这⾥
SQL在线模拟器
⽤到的数据表是user这张表
我们先看个例⼦,要统计所有的学⽣数,SQL语句如下
SELECT count(*) FROM user
这个时候只使⽤到了聚合函数count。
那如果你要按性别gender分组统计学⽣数,这个时候就要⽤到group by了,SQL语句如下
SELECT gender,count(*) FROM user
group by gender
看到没有,到了敲⿊板的时候了
按什么分组,就直接在group by后⾯加上对应的分组字段,同时,SELECT后⾯、聚合函数前⾯也要加上对应的分组字段,这样才能正常显⽰。
如果你有多个需要分组的字段,直接使⽤逗号隔开即可,例如
SELECT gender,students,count(*) FROM user
group by gender,students
在这个例⼦中,这样做没啥意义,因为数据、字段都太少,没其他字段好举的,知道意思就⾏了。
有时候,需要分组的字段在原数据表⾥⾯没有现成的,需要我们先经过处理后得到新字段再进⾏分组,例如要对分数段进⾏分组统计⼈数
SELECT (case when  score>=90  then "优秀" else  "合格"  end)  as 评价,count(*) FROM user
group by  (case when  score>=90  then "优秀" else  "合格"  end)
这时group by不能写别名“评价”,必须直接把处理的SQL语句直接写到group by后⾯,因为SQL的执⾏顺序如下:
1.FROM →
2. WHERE →
3. GROUP BY →
4. SELECT
看到没有GROUP BY先于SELECT执⾏,别名“评价”还没执⾏⽣效呢,所以需要把处理的SQL语句直接写到group by后⾯。
前⾯说了都是与聚合函数⼀起使⽤的,当然也可以只GROUP BY,不加聚合函数。只GROUP BY相当于就是对只GROUP BY的字段进⾏去重处理,得到不重复的唯⼀数据,SQL语句如下:
SELECT gender FROM user
group by gender
SELECT students,gender FROM user
group by students,gender
-------------------------------------
还在为数据分析该如何学⽽烦恼的朋友,赶紧学起来,跟着数据分析⼊门与进阶线路图学,⼀步⼀步进阶数据分析⼤师。
量⾝打造,少⾛弯路,6~8折限时优惠、永久有效,随到随学,Q答疑A系列是数据分析⼊门必学、必备课程
⾮编程学习路线⼀(SPSS⽅向):A+B
⾮编程学习路线⼆(Modeler⽅向):A+C
编程学习路线⼀(Python⽅向):A+D
编程学习路线⼆(R⽅向):A+E
点“阅读原⽂”进⼊课程页⾯学习

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。