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


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


一、算术运算符计算字段

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



--select 列 算术运算符 from 表;--从sc成绩表里提取学号、成绩以及每个学生的成绩加5select 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篇就到这了,更多精彩敬请期待~


©著作权归作者所有:来自51CTO博客作者mb5fe18f5282239的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 从零到一学懂区块链(6):哈希函数
  2. 动画:一个底层运行函数的自白!
  3. 使用Eclipse实现自定义Jmeter函数助手
  4. Cocos平台 | 快速集成AGC云函数服务
  5. 正确使用异步函数的姿势[每日前端夜话(0x06)]
  6. Numpy中Meshgrid函数介绍及2种应用场景
  7. Python中匿名函数与内置高阶函数详解
  8. 面试必知必会|理解C++虚函数
  9. 类和函数傻傻分不清楚?三个例子讲明白

随机推荐

  1. php文件显示代码在Chrome
  2. PHP递归函数删除所有子节点导致stackover
  3. PHP 使用 debug_print_backtrace() 或 de
  4. 在PHP中写入xml时,从字符串中删除&amp
  5. PHP-从多维数组中删除重复值
  6. php异常和错误处理
  7. 最好的PHP IDE和PHP文本编辑器合集
  8. php 顶部偶尔出现一个乱码字符?
  9. PHP如何获得地址栏的特殊字符呢?
  10. 使用PHP显示所有列条目