首页 > 数据库 >SQL数据分析,分组与透视

SQL数据分析,分组与透视

时间:2022-10-14 16:06:12浏览次数:56  
标签:数据分析 GROUP WHEN score 分组 SQL 数据



数据分组是对相同类别的数据进行汇总,而数据透视表是通过对行或列的不同组合对数据进行汇总,所使用的汇总方法有求和、计数、平均值、标准差等,本文使用SQL对数据进行数据分组和数据透视,下面一起来学习。

SQL数据分析,分组与透视_数据


普通分组

普通的数据分组这里使用的GROUP BY函数,同时使用COUNT函数进行计数。


#数据分组SELECT Ssex,COUNT(SId) as '人数' fromGROUP BY

SQL数据分析,分组与透视_数据_02

分组筛选

如何对于分组后的结果进行筛选?这里不能使用WHERE函数,应该使用HAVING进行筛选,只要后面跟筛选条件即可。


#数据分组SELECT Ssex,COUNT(SId) as '人数' fromGROUP BYHAVING COUNT(SId)>5;


SQL数据分析,分组与透视_数据_03


CASE WHEN分组

CASE WHEN函数用来对数据进行判断和分组,下面的代码中我们对score列的值进行判断,score大于90为优秀,score大于80为良好,score大于70为中等, score大于60为及格,否则不及格,结果使用成绩分组字段进行标记。


#score字段分组SELECTCASEWHEN score>90 THEN '优秀'WHEN score>=80 AND score<90 THEN '良好'WHEN score>=70 AND score<80 THEN '中等'WHEN score>=60 AND score<70 THEN '及格'ELSE '不及格'END AS '成绩分组'FROM

SQL数据分析,分组与透视_数据分析_04

单列分组

数据分组可以单列分组,也可以多列分组,对于单列分组,只需要在GROUP BY后面跟一个字段就可以。


#单列分类汇总SELECT ssex,COUNT(sid) AS id_count FROMGROUP BYORDER BY id_count DESC;

SQL数据分析,分组与透视_数据_05

多列分组

而对多列数据分组,可以在GROUP BY后面跟多个字段,下面这条SQL语句同时根据课程号和学号进行分组,然后以分数和降序排列。



#多列分类汇总SELECT CId,SId,SUM(score) AS score_sum FROMGROUP BY CId,SIdHAVING score_sum >160ORDER BY score_sum DESC;

SQL数据分析,分组与透视_sql_06

数据透视

在SQL中想要达到数据透视表的功能,需要GROUP BY与CASE WHEN结合使用,下面这条SQL语句可以计算不同分数段的人数,现用CASE WHEN对不同的分数段进行分类,然后,用GROUP BY分组,并且计数,实现数据透视功能。


#score字段分组SELECTCASEWHEN score>90 THEN '优秀'WHEN score>=80 AND score<90 THEN '良好'WHEN score>=70 AND score<80 THEN '中等'WHEN score>=60 AND score<70 THEN '及格'ELSE '不及格' END ASCOUNT(sid) as '人数'FROMgroup byorder by COUNT(sid) DESC;

SQL数据分析,分组与透视_sql_07


标签:数据分析,GROUP,WHEN,score,分组,SQL,数据
From: https://blog.51cto.com/u_15828536/5757091

相关文章

  • SQL数据分析,数据提取与筛选
    一张表中通常会包含很多字段,造成数据冗余,在做数据分析时,我们仅需要提取数据分析所需要的字段,这里就需要用到数据选取的知识点,同时还可以依据特定条件筛选。本文介绍数据提取......
  • 记一次Mysql的修复
    现象:生产环境的MySql无故停止,版本是5.7,启动后马上就又停止,不知道原因 错误日志如下:InnoDB:Endofpagedump2022-10-14T05:43:37.668007Z0[Note]InnoDB:Unc......
  • SQL进阶篇之约束(Constraints)
    SQL约束约束用于限制加入表的数据的类型,可以在创建表时规定约束(通过CREATETABLE语句),或者在表创建之后也可以(通过ALTERTABLE语句)SQL约束主要包括以下几种约束......
  • Python实战—自行车租赁数据分析
    本节选取自行车的租赁数据,利用numpy、pandas、matplotlib三个库,数据清洗后,做数据分析,研究时间段与自行车租赁的关系。数据来源  本节以自行车的租赁数据为例,数据来源于网......
  • SQL进阶,子查询与窗口函数
    上一节给大家讲到SQL取数的一些基本内容,包含SQL简单查询与高级查询,需要复习相关知识的同学可以跳转至上一节,本节给大家讲解SQL的进阶应用,在实际过程中用途比较多的子查询与......
  • SQL取数,简单查询与高级查询
    一张表中通常会包含很多字段,造成数据冗余,在做数据分析时,我们仅需要提取数据分析所需要的字段,这里就需要用到数据选取的知识点,同时还可以依据特定条件筛选。本文介绍数据提取......
  • mysql创建索引的语句
     1. altertable table_name addindexindex_name(column) 2.altertabletable_nameaddprimarykey(column)/addunique主键索引或者唯一值索引 3.cre......
  • 数据分析面试题集锦(二)
    大家好,今天整理了数据分析面试题集锦(二),经常会被问到,“数据分析需要学习什么技能?”,“针对实际的业务场景,如何使用数据分析工具去分析?”基于此作者总结数据分析面试常用的问......
  • SQL基础知识及建表语句
    什么是数据库?简单来说,数据库是容纳数据的一个"容器",正如文件柜用来存放资料,冰箱用来储存食物,手机相册用来保存照片,数据库的产生极大方便存储数据,数据库不仅可以存储数据,还能......
  • Excel数据分析函数必备,超全总结
    为什么要学习Excel?首先,Excel是一个好用的工具,并不会因为你会Python而成为数据分析师,而是能用任何工具解决实际的业务问题,其次,Excel因为其简单易用,而受到人们的青睐。一般学......