数据分析的线上云端数据库搭建及Excel和Tableau连接
SQL基础知识
线上SQL训练:
SQlZOO: https://www.sqlzoo.net/wiki/SQL_Tutorial
牛客网SQL真题:https://www.nowcoder.com/ta/sql
select,from,where, order by, limit, group by, having, substr(), max(), concat(), 窗口函数,表连接,子查询等,基本上要使用的时候找个例子进行学习更改即可,加上现在的AI工具结合使用,咨询业务场景也会比以往容易,不需要死记硬背。
一道有意思的题:
查询某年某平台上每个门店GMV最高那天的日期和GMV
select
门店名称,
日期,
GMV,
from
(select 门店名称,日期,row_number()over(partition by 门店名称 order by GMV desc) r,GMVfrom 数据库.表where substring(日期,1,4) =’年'and 平台='某平台'
) a
where a.r =1
补充
ROW_NUMBER()为每个学生分配一个唯一的排名,即使分数相同也不会有并列排名。
RANK()在分数相同时会给予相同的排名,并且会跳过下一个排名(例如,如果有两个第一名,则下一个是第三名)。
DENSE_RANK()也会在分数相同时给予相同的排名,但不会跳过下一个排名(例如,如果有两个第一名,则下一个是第二名)。
搭建云端数据库
1.登录阿里云, 鼠标指着“产品”->点击“数据库”,有试用玩试用,有优惠买优惠,能够练习使用即可。
2.买好后找到“云数据库RDS”
3.点击实例列表
4.点击实例ID进入管理界面
5.创建账号
6.创建数据库
7.设置白名单
8.开通外网地址
9.安装datagrip,选上这3个钩子,其他默认即可
10.配置数据驱动
11.配置数据源,主机就是外网地址,用户和密码是数据库账号
12.配置好后在数据库连接名字上左键最后的分数,可以勾上新建好的数据库
13.右键数据库导入文件即可,导入文件的时候可以修改字符编码(例如UTF-8改成GBK)和对应的字段类型(比如日期可以修改成date,日期时间datetime,订单id改成int,金额为double等)
14.导入后可以新建控制台进行sql脚本的运行,比方说想要看看某个表有哪些字段:describe 数据库.表名
运行即可
15.查询结果可以下载下来,在右上角的下载按钮
如果保存有乱码,比如CSV格式保存中文是乱码,可以采用记事本打开,另存为的时候改编码成ANSI即可
Excel连线上数据库
安装驱动
配置电脑的ODBC
1.控制面板>>>系统和安全>>>管理工具>>>ODBC数据源64位(如果Excel是32位,则配置ODBC数据源32位)
2. 用户DSN>>>添加>>>选择"MySQL ODBC 8.0 Unicode
3. 填写参数,database可以不写
4. 点击test进行测试
Excel使用ODBC从MySQL获取数据:
1.打开Excel
2.数据选项卡>>>获取数据>>>自其他源>>>从ODBC(如果是WPS的excel点获取数据后可以点导入数据,再选择ODBC)
3.数据源名称选择配置ODBC时写的名称
4.点击高级选项,输入SQL代码来指定读取的数据(WPS大同小异,点着看就明白了)
5.这里输入代码,获取整个数据表中的数据(不输入SQL代码会报错)
6.可能需要再次输入数据库账号密码,输入后点击连接
7.点击加载,从MySQL数据库中获取数据到Excel
Tableau连接线上数据库
数据库不用填都可以,填上地址和账号就行