数据蛙强化课程第二期

数据分析的理解和MYSQL学习心得

2019-03-10  本文已影响1人  Dylan丶海

一、数据分析的一般流程及应用场景

1.数据利用领域:社交(抖音,微信)、金融(财务,信用评估)、招聘(前程,猎聘),交通(美团,饿了么)

2.数据分析流程:

(1)对问题进行定义

(2)数据获取、清理与存储、分析与建模

(3)系统、报告

3.目的:通过数据分析报告,解决问题

4.应用软件:python、anaconda、mysql

二、MYSQL学习心得

1.SQL语法

    SQL几乎所有的语句都要使用select来选取列数据,select返回的结果是无序的,可使用order by(位于from字句之后)排序,asc 升序,desc 降序

    也可在输入语句前,先指定库,一般情况下是不会跨库查询的,因此可以直接用use语句指定库名,后续from不用再输入库,如果需要指定到特定库,再到from那里指定,则优先运行from那里的库,再运行use指定的库

select 字符串 from 库名.表名 +条件限制

2.学习中的卡点

(1)分组函数GROUP BY 和HAVING 

GROUP BY + HAVING : GROUP BY 有种创建透视表的感觉,而HAVING可以理解为筛选器(过滤分组的功能)

HAVING 和 WHERE 的区别

WHERE 标准的行级过滤器

HAVING 一般搭配GROUP BY 进行使用

(2)LEFT JOIN

LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。

LEFT JOIN 关键字语法

例如:SELECT column_name(s)

           FROM table_name1

           LEFT JOIN table_name2

           ON table_name1.column_name=table_name2.column_name

注释:在某些数据库中, LEFT JOIN 称为 LEFT OUTER JOIN。LEFT JOIN 关键字会从左表那里返回所有的行,即使在右表中没有匹配的行。

(3)笛卡尔积

(4)CASE WHEN函数的应用

有如下数据

按照国家和性别进行分组,得出结果如下

普通情况下,用UNION也可以实现用一条语句进行查询。但是那样增加消耗(两个Select部分),而且SQL语句会比较长。下面是一个是用Case函数来完成这个功能的例子

SELECT country,

SUM( CASE WHEN sex = '1' THEN  population ELSE 0 END), --男性人口

SUM( CASE WHEN sex = '2' THEN  population ELSE 0 END) --女性人口

FROM  Table_A GROUP BY country;

这样我们使用Select,完成对二维表的输出形式,充分显示了Case函数的强大。

(5)TIMESTAMPDIFF和TIMESTAMPADD函数的用法

语法:

TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2)。

说明:

返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差。其结果的单位由interval 参数给出。

语法:

TIMESTAMPADD(interval,int_expr,datetime_expr)

说明:

将整型表达式int_expr 添加到日期或日期时间表达式 datetime_expr中。

学习心得:在学习数据分析之前的心理和现在对其的认识是不一样的,站在门口看只看到了数据分析的一个角落,当我踏进这扇大门后,我才发现数据分析的世界,是如此的美丽动人,充满无限的可能,等待我去挖掘。虽然在学习的过程中遇到了挺多困难,但我会坚持下去,因为这是我选择的路。

上一篇下一篇

猜你喜欢

热点阅读