对比Excel学习SQL(4):计算字段

本文对比Excel详细介绍了SQL中计算字段的三种方式:算术运算符计算字段、函数计算字段(包括日期、文本、数值函数)以及聚合函数(COUNT、SUM、AVG、MAX、MIN)的应用,并通过实例展示了如何进行数据统计分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天这篇文章是对比Excel学习SQL系列的第4篇文章,之前3篇的传送门在这里:《对行和列的操作》、《库/表/记录的增查删改》、《写给小白的SQL学习文章》。

计算字段的意思是通过原有字段的运算创建新的字段,本文主要从算术运算符计算字段、函数计算字段和聚合函数的应用三个方面来分享。

一、算术运算符计算字段

算术运算符就是加减乘除运算符,用算术运算符创建字段直接在select后写命令。

--select 列 算术运算符 from 表;
--从sc成绩表里提取学号、成绩以及每个学生的成绩加5
select snum,score,score + 5 as score2 from sc;

给新创建的字段赋予名称,用到【AS】命令 

这里我们对sc表里的score列每个数值都+5得到一个新的score2字段,如下:

我们想一下这个操作对应在Excel里就是很简单的新建一列,然后赋值,如下动图:

二、函数计算字段

01 日期函数

对日期时间型数据进行操作的函数,日期函数里用到较多的是YEAR()、MONTH()、DAY(),Excel里也有这三个函数,作用都是提取某个日期下的年、月、日的数据。

如下例,提取2003年3月3日出生的学生,这里可以不用DATE()函数,因为sage列本身就已经预设成了日期格式,需要注意的是,筛选日期时要用单引号引起来。

--提取2003年3月3日出生的学生的数据
select * from student1 where sage = '2003-03-03';
select * from student1 where DATE(sage) = '2003-03-03';

 

【MONTH】

再如下例,提取2003年出生的所有学生记录。

--提取2003年出生的学生的数据
select * from studenet1 where YEAR(sage) = 2003;

同理,MONTH()函数和DAY()函数也是这样的用法。这个操作在Excel里相当于新建一列year字段,用YEAR()函数作用于sage字段,得到每个学生出生日期的年份,最后筛选出2003年的学生数据,整个过程如下动图所示:

 

02 文本函数

对字符型数据进行操作的函数,这里文本函数和Excel里相应函数的用法都是一样的,不同的是length()函数对应的是Excel里的len()函数,名字不同罢了,想要复习Excel里文本函数的同学,传送门在这里:《Excel文本函数

SQL里的文本函数是这样的:

函数

说明

使用

Left()

从一个字符串最左边开始返回指定个数的字符

Left(字符串,返回个数)

right()

从一个字符串最右边开始返回指定个数的字符

right(字符串,返回个数)

Length()

返回字符串的长度

Length(字符串)

 

【left】

提取每个学生的姓

--提取学生的姓
select sname,left(sname,1) as f_name, sage from student1;

在Excel里是这样操作:新建一列f_name,对sname作用left函数,如下动图:

03 数值函数

对数值型数据进行处理的函数,这些函数在Excel里也是这样的用法,常见的有:

函数

说明

使用

Abs()

返回一个数值的绝对值

Abs(数值)

Exp()

返回一个数的指数值

Exp(数值)

Round()

把数值四舍五入为指定数值

Round(数值,返回的小数位数)

 对成绩一列取整:

--对成绩一列取整
select snum,score,round(score,0) from sc;

 

三、聚合函数

聚合函数是对数值数据进行汇总的函数,主要有以下:

函数

说明

COUNT()

计数

SUM()

求和

AVG()

平均值

MAX()

最大值

MIN()

最小值

这些和Excel相应函数的用法也一致,需要注意的是同Excel一样,聚合函数得到的是一个数据,而非一系列查询后的记录。

 

01 COUNT函数

count函数是对行进行计数。

--select count(列) from 表;对特定列的值计数
--select count(*) from 表; 可以查看表的总行数
--select count(DISTINCT 列) from 表; 去重以后的行数

查询student1表总有有几行;

查询性别一列不重复的有几行

select count(*) from student1;
select count(DISTINCT sex) from student1;

以上count函数计数的操作在Excel里就是count函数的应用:

02 SUM函数

sum函数是对指定列求和。

--select sum(列) from 表;

对sc表中的成绩一列求和。

select sum(score) from sc;

 

对学号为1的学生的成绩求和:

select sum(score) from sc where snum = 1;

第二个列子对学号为1的学生的成绩求和,在Excel里用到sumif条件求和函数,公式“=SUMIF(A:A,A2,C:C)”的意思是对A列里等于1的条件求和。

 

03 AVG函数

Acg函数用于对列求平均值,在Excel里这个函数的名字变了,是average(),大家不要搞混哦。

--select avg(列) from 表;
select avg(score) from sc;

对成绩一列求平均值

 

在Excel里,用AVERAGE()函数对score一列求平均值

04 MAX函数

返回指定列中的最大值。

--select max(列) from 表;
select max(score) from sc;

找出最高成绩

在Excel里用max()函数对score一列求最大值

05 MIN函数

返回制定列中的最小值。

--select min(列) from 表;
select min(score) from sc;

找出最低的成绩

在Excel里用min()函数对score一列求最小值

06 聚合函数的综合应用

通过求和、计数、最值的统计进行简单的描述性统计分析,可以了解数据的大致分布。

select sum(score) as sum_sc,avg(score) as avg_sc,max(score) as max_sc,min(score) as min_sc from scl

在Excel里之前也提到过,用【数据】——【数据分析】——【描述统计】来做描述性统计分析。

step1:打开【数据】——【数据分析】——【描述统计】对话框

step2:将要分析的数据输入到输入区域,勾选汇总统计前的选框。

step3:得到分析结果如图

具体的关于Excel描述统计的内容,请移步《描述性统计分析》前往查看。

对比Excel学习SQL系列的第4篇就到这了,更多精彩敬请期待~


提供入门级数据分析的学习路线规划,分享从Excel到统计学的干货。数据分析是一项技能,希望人人都能分析数据。

相关内容:

SQL学习:MySQL入门 | 库/表/记录的增查删改

Excel分析方法:时间序列分析 | 回归分析 | 描述性统计分析 | 相关性分析 

Excel图表:数据地图 | 数据透视表 | 5个基本图 | 13个进阶图 | 直方图 | 控制图 | 排列图

Excel函数:日期文本函数 | 查找引用函数 | if函数 | 统计函数

用Excel进行数据分析:数据获取 | 数据处理 

方法论:如何系统地学习Excel | 数据分析学习 | Excel相见恨晚的技巧 

码字不易,点个右下角 在看 ,给小姐姐加鸡腿哟~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击的可乐!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值