网站首页 > 技术教程 正文
一张表中通常会包含很多字段,造成数据冗余,在做数据分析时,我们仅需要提取数据分析所需要的字段,这里就需要用到数据选取的知识点,同时还可以依据特定条件筛选。
本文介绍数据提取、数据筛选、条件聚合运算等内容,数据筛选后又类比EXCEL做条件计数和条件求和等操作,类似于countif、sumif函数功能,下面一起来学习。
示例工具:MySQL8.0、Navicat Premium 12
本文讲解内容:SQL简单与高级查询
适用范围:SQL中条件聚合运算
数据提取
按列提取数据,使用SELECT函数,提取对应的字段名即可。
#按列提取
SELECT cname
FROM course;
按行提取需要特定加一个按行筛选的条件。
#按行提取
SELECT * FROM course
WHERE cname='数学';
按位置提取数据,这里使用LIMIT限制数据的大小,"LIMIT 3,4"的含义表示从第3行开始筛选4行数据。
#按位置提取
SELECT * FROM student
LIMIT 3,4;
按条件提取数据,普通提取数据后,需要按照一定的条件筛选数据,这里使用WHERE函数,在后面设定条件即可完成筛选。
#按条件提取并计算
SELECT * FROM score
WHERE cid=02 AND score>80;
逻辑条件筛选
常用的逻辑条件有与(AND)、或(OR)、非(NOT),这里使用AND函数,筛选条件为课程号为03,且分数大于80分。
#数据筛选AND
SELECT * FROM score
WHERE cid=03 AND score>80;
此处使用OR函数,筛选学号为01,或者分数大于98分的数据。
#数据筛选OR
SELECT * FROM score
WHERE sid=01 OR score>98;
添加一个不等于条件,筛选性别中不为"女"的数据,其中,不等于号用"!="来表示。
#数据筛选(不等于)
SELECT * FROM student
WHERE ssex != '女';
使用IN函数,可以将条件值限定为具体的值,从而达到筛选确定值的目的。
#数据筛选IN
SELECT * FROM score
WHERE score IN (90,99);
使用LIKE模糊筛选,%是通配符,替代一个或多个字符,这里的条件可以筛选姓李的同学。
#数据筛选like(模糊筛选)
SELECT * FROM student
WHERE sname LIKE '李%';
条件聚合运算
条件筛选后计数,类似于EXCEL中的countif函数,这里筛选课程号为03,且成绩大于60分的课程,然后计数。
#筛选后计数
SELECT COUNT(cid) AS cid_count
FROM score
WHERE cid=03 AND score>60;
筛选后求和,类似于EXCEL中的sumtif函数。
#筛选后求和
SELECT SUM(score) AS sum_score
FROM score
WHERE sid=01 AND cid=01 AND score>60;
同理可以设置条件,求条件平均。
#筛选后求均值 averageif
SELECT AVG(score) AS avg_score
FROM score
WHERE cid != 01;
商业数据分析系列文章持续更新中~
喜欢就转发分享一下吧[灵光一闪]
- 上一篇: 建模干货:关于ZBrush拓扑的必学技能
- 下一篇: NMDS分析和绘图
猜你喜欢
- 2024-11-21 死磕MySQL系列 一:原来一条select语句在MySQL是这样执行的
- 2024-11-21 不了解这5种查询类型,怎么在数据表中按需查询数据
- 2024-11-21 ANSYS 常见错误&警告解读
- 2024-11-21 EXCEL提取单元格中的中文、英文和数字
- 2024-11-21 数控机床的英文操作面板
- 2024-11-21 Mysql查询语句select教程
- 2024-11-21 Windows 10之查询OEM产品密钥的三种方法
- 2024-11-21 记一次排查线上MySQL死锁过程,不能只会curd,还要知道加锁原理
- 2024-11-21 I/O复用 - select&poll
- 2024-11-21 如何选择执行程序代码,VBA编程Select语句介绍
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- sd分区 (65)
- raid5数据恢复 (81)
- 地址转换 (73)
- 手机存储卡根目录 (55)
- tcp端口 (74)
- project server (59)
- 双击ctrl (55)
- 鼠标 单击变双击 (67)
- debugview (59)
- 字符动画 (65)
- flushdns (57)
- ps复制快捷键 (57)
- 清除系统垃圾代码 (58)
- web服务器的架设 (67)
- 16进制转换 (69)
- xclient (55)
- ps源文件 (67)
- filezilla server (59)
- 句柄无效 (56)
- word页眉页脚设置 (59)
- ansys实例 (56)
- 6 1 3固件 (59)
- sqlserver2000挂起 (59)
- vm虚拟主机 (55)
- config (61)
本文暂时没有评论,来添加一个吧(●'◡'●)