sql sum 去重_Excel的SQL语法之初级入门知识

虽然Excel有很多函数处理数据比较方便,但由于太分散不好管理。如果熟悉SQL,直接用SQL来处理数据也会方便很多,并且通常就一个SQL,方便管理和修改。

那么,我就来讲一些SQL的初级入门语法,以便不会SQL的人也能快速学起来并进行应用。所有语句都是在下面表进行操作的

学生信息表

2938973e1a11a2b67b887f661887a460.png

另外,在Excel中如何使用SQL,以及如何进入SQL执行界面参考我之前的文章《Excel中用SQL语句实现多工作簿汇总》,或者评论区直接问我。

一. SELECT

SELECT关键字是SQL最常用的关键字,它的作用就是将一张表里面的数据按需要选出来,语法如下

SELECT 列名 FROM 表名;

如果要选择多个列名,中间用逗号隔开,选择所有列直接用*代替。例如要选择出学生信息表里面的学号和年龄,那么SQL如下

SELECT 学号, 年龄 FROM [学生信息表$];

执行结果如下

5dd770dc989528f102fbc0c64e4d23ed.png

二. WHERE

WHERE在SQL中作为一个条件的关键字,语法如下

SELECT 列名 FROM 表名 WHERE 条件;

比如我要选择出年龄小于19岁的数据,SQL如下

SELECT * FROM [学生信息表$] WHERE 年龄 < 20;

执行结果如下

64e666237d6b62670b627bc677b4aba8.png

确实过滤掉了年龄小于20的数据,如果用多个条件需要用关键字AND或OR。例如

SELECT * FROM [学生信息表$] WHERE 年龄 < 20 AND 身高 > 168;SELECT * FROM [学生信息表$] WHERE 年龄 < 20 OR 身高 > 168;

三. DISTINCT

这个关键字是用来去掉重复的记录,比如学生信息表中学号为20191002的记录有两条,我们要实现去重,则使用DISTINCT,例如

SELECT DISTINCT 学号, 性别, 年龄, 身高, 出生日期, 籍贯 FROM [学生信息表$];

这样就实现了数据去重,执行结果如下

d03739a73707c80e30e65da6cb9c2b86.png

四. SUM和AVG

SUM用来对某列进行求和,AVG用来对某列求平均。例如要对年龄进行求和并求平均。SQL如下

SELECT SUM(年龄), AVG(年龄) FROM [学生信息表$];

执行结果如下

0f5454d771160ce00d4c6a2d543dbff5.png

五. AS

AS用来对列名进行重命名,比如原来的列叫做身高,现在我命名为学生身高,可以这样写

SELECT 身高 AS 学生身高 FROM [学生信息表$];

结果如下

c447feb60032d5ecd6589c547ae66c30.png

列名确实变为了学生身高。AS一般用在复杂操作中,比如计算SUM后需要对结果取一个名字,那么就可以这样写

SELECT SUM(年龄) AS 年龄和, AVG(年龄) AS 年龄平均 FROM [学生信息表$];

六. LEFT和RIGHT

这个关键字用来对列进行处理,提取当列字符串从左往右数前k位,语法如下

SELECT LEFT(列名, k) FROM 表名;

比如我们要将日期中的年份提取出来,可以这样写

SELECT LEFT(出生日期, 4) AS 年份 FROM [学生信息表$];

执行结果如下

9c958aa0d9d4fabe0625085a3a3cf21b.png

RIGHT同理,是取当列字符串从右往左数前k位。

七. IIF

IIF表示选择,比如我要计算身高小于170的学生年龄和,那么我可以直接用WHERE,如下

SELECT SUM(年龄) AS 年龄和 FROM [学生信息表$] WHERE 身高 < 170;

也可以用IIF语句达到此目的,其语法为IIF(C, A, B)。即如果满足条件C,那么结果为A,否则为B,如下SQL

SELECT SUM(IIF(身高 < 170, 年龄, 0)) AS 年龄和 FROM [学生信息表$];

执行结果如下

a1632971da839d078a3843a53531998c.png

以上是Excel SQL入门的基础知识,更多内容放在下一篇来讲。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值