当我们碰到字段数据类型是数值瓯,也可以应用符号> 、>=、< 、<=、!= 进行逻辑断定,!= 指的是不等于,等价于 <> 。
- select * from DataAnalyst
- where companyId >= 10000
上例是筛选出公司ID >= 10000的职位,为数值瓯,不须要像字符串一样加引号。
between and 包含数值两端的界线,等同于 companyId >=10000 and companyId <= 20000。
如不雅要模糊查找,能用like。
- select * from DataAnalyst
- where positionName like '%数据分析%'
语句的含义是在positionName列查找包含「数据分析」字段的数据,%代表的是通配符,含义是无所谓「数据分析」前面后面是什么内容。如不雅是 '数据分析%' ,则代表字段必须以数据分析开首,无所谓后面是什么。
接下来我们进修group by,它是数据分析中常见的语法,目标是将数据按组/维度划分。类似于Excel中的数据透视表,我们以city为例。
- select * from DataAnalyst
- group by city
它将城市划分成就组,经由过程group by 可以快速的浏览数据有哪些城市。我们看一下它的高阶用法。
- select city,count(1) from DataAnalyst
- group by city
上述语句,应用count函数,统计计数了每个城市拥有的职位数量。括号琅绫擎的1代表以第一列为计数标准。这里出现新的问题,当我们碰到反复数据怎么办?在DataAnalyst 这张表中,北京职位包含反复的职位ID,我们须要去重。
当我们须要取区间数值瓯,应用 between and
- select city,count(distinct positionId) from DataAnalyst
- group by city
北京的数据一会儿少了2000,多余的反复值被清除在外。distinct 是去重函数,distinct positionId 会只计算独一的positionId个数。日常工作中,活泼用户数、文┞仿UV,都是用distinct 计算获得,这是独一标示符ID的重要感化。
除了count,还有max,min,sum,avg等函数,也叫做聚合函数。用法和Excel没什么差别。
当我们在group by 添加多个字段,它将以多维的情势进行数据聚合。
- select city,workYear,count(distinct positionId) from DataAnalyst
- group by city,workYear
这就是数据分析师常用的多维分析法,经由过程group by 切分不呵9依υ?度进行比较,在晦气用BI的情况下,经由过程SQL进行快速数据分析。
接下来进修逻辑断定,SQL也有if函数,和Excel的用法一摸一样,经由过程它我们能进行复杂的运算。比如我想统计各个城市中有若干瘪据分析职位,个中,电商范畴的职位有若干,在个中的┞芳比?
industryField是公司的行业范畴,固然我们能用where like 计算出有几个电商的数据分析师,然则占比的计算会比较麻烦,此时可以用if。
推荐阅读
实际上,这个法度榜样的功能只是告诉计算机显示 Hello World 这句话。传统意义上,法度榜样员一般用这个法度榜样测试一种新的体系或编程说话。对法度榜样员来说,看到这两个单词显示在电脑>>>详细阅读
本文标题:SQL,从入门到熟练
地址:http://www.17bianji.com/lsqh/35898.html
1/2 1