我们可以改变1为负数,达到减法的目的,也能更改day为week、year等,进行其他时间间隔的运算。如果是求两个时间的间隔,则是datediff(date1,date2)或者timediff(time1,time2)。 时间函数的运用比较灵活,没有特殊限定,网络上的文档和教程也不少,可以深入学习。 最后是数据清洗类的函数。 select left(salary,1) from DataAnalyst MySQL支持left、right、mid等函数,这里又和Excel一样。我们通过salary计算数据分析师的工资吧(这一步骤,在曾经的文章中已经用Excel和BI多次讲解,所以我就不多赘述了,只讲过程,不熟悉的同学可以看历史内容)。 首先利用locate函数查找第一个k所在的位置。 select locate(“k”,salary),salary from DataAnalyst 然后使用left函数截取薪水的下限。 select left(salary,locate(“k”,salary)-1),salary from DataAnalyst 为了获得薪水的上限,要用substr函数,或者mid,两者等价。 substr(字符串,从哪里开始截,截取的长度) 薪水上限的开始位置是「-」位置往后推一位。截取长度是整个字符串减去「-」所在位置,刚好是后半段我们需要的内容,不过这个内容是包含「K」的,所以最后结果还得再减去1。 这里不了解不要紧,可以将计算过程分步骤运行。基本上,了解了上面写法的含义,文本清洗这块就没有问题了(not like用来清洗乱七八糟的薪水,我简单处理了)。再然后计算不同城市不同工作年限的平均薪资。 上面语句,我们用了文本清洗、子查询嵌套、分组聚合、排序等多种用法,属于较复杂的查询。重复数据的问题,因为我是复制了一份北京数据,数量刚好乘二,对平均数没有影响,感兴趣的朋友可以再加一步清洗掉它。 下面是三道思考题: 查询出哪家公司招聘的岗位数最多; 查询出O2O、电子商务、互联网金融这三个行业,哪个行业的平均薪资最高; 查询出各城市的最高薪水Top3是哪家公司哪个岗位。 做完上面的题目,你已经神功初成,数据分析的SQL意见没有大问题了。更复杂的查询,也无非是嵌套更多的内容,本质思路是一样的。 讲到这里,只剩join语法还没有教大家。因为练习数据只有一张表,而join又是SQL中比较容易混淆的难点,我会单独开一篇内容讲解,到时候使用SQLZoo和LeetCode的案例。 LeetCode是知名的算法竞赛网站,可以在上面和全世界的程序员比拼算法,当然我们只练习SQL,完成后,至少能秒杀全世界50%的程序员吧。 后续的SQL或者Python语句,我可能会用截图形式,或者找个好看点的内联样式,否则在微信端会变形的很难看。 互联网数据分析能力的养成,需一份七周的提纲 如何七周成为数据分析师01:常见的Excel函数全部涵盖在这里了 如何七周成为数据分析师02:Excel技巧大揭秘 如何七周成为数据分析师03:手把手教你Excel实战 如何七周成为数据分析师:Excel技巧之甘特图绘制(项目管理) 如何七周成为数据分析师:Excel技巧之打造多级菜单 如何七周成为数据分析师04:数据可视化之经典图表合集 如何七周成为数据分析师05:数据可视化之打造升职加薪的报表 如何七周成为数据分析师06:数据可视化之手把手打造BI 如何七周成为数据分析师07:快速掌握麦肯锡的分析思维 如何七周成为数据分析师08:如何建立数据分析的思维框架? 如何七周成为数据分析师09:写给新人的数据库指南 #专栏作家# 秦路,微信公众号ID:tracykanc,人人都是产品经理专栏作家。 本文由 @秦路 原创发布于人人都是产品经理。未经许可,禁止转载。 (责任编辑:本港台直播) |