文章目录
一、数据提取
1、获得用户表、启动表与功能表
(1)用户表:用户个人信息与订单信息
(2)启动表:日期、时间等
(3)功能表:是否成功、功能、渠道、耗时等
注意:当进入数据分析岗位,需要向数据部门获得数据时必须把关键字段列出来,数据部门才会将相应字段下的数据发给我们。
2、获取数据字典(desc)
数据字典指的就是数据表中的关键字段与关键字段信息;
语法示例:desc user_info;
--分号不能少;
也就是宏观查看数据字段。
二、数据查询
1、选取数据(select)
(1)语法示例:select * from user_info;
--选取用户信息表中的所有数据
以上的*代表所有内容,关于SQL语句的具体语法规则与详细分析,请参阅:
MySQL数据库基础(数据表的SELECT操作)
(2)查询特定行数(limit)
语法示例:select * from user_info limit 10;
--查看数据表前10行数据,无排序
2、筛选(where)
(1)语法结构:select 字段名 from 表名 where 筛选条件;
(2)精准匹配:>、<、=、>=、<=
(3)单条件筛选:
select * from d_function where if_install='install';
--从功能表中找出所有软件已经安装的行
(4)筛选的逻辑操作符:AND表示且(两真才真),OR表示或(一真即真)
(5)多条件筛选:
select * from d_function where if_install='install' AND date='2022-4-15';
--从功能表中找出条件为软件已安装 且 日期为2022年4月15日的行
(6)注意:当在MySQL中同时用到AND和OR时,AND的执行优先级高于OR。也就是说,在没有小括号()的限制下,总是优先执行AND语句,再执行OR语句。因此,条件很多时为了防止弄混,建议加上小括号()进行优先级限制。
(7)having的用法
①having和where的区别:
having对分组过后的数据进行过滤(而where是分组之前的),不过能用where的地方都可以用having替换
②having用法示例:
--用name分组过后,求每一组jquery的成绩总和,最后筛选jQuery成绩总和大于150的成绩对应的name
select name, sum(jQuery) from ExamResult group by name having sum(jQuery)>150;
--统计JS成绩大于80的name的个数
select count(name) from ExamResult where JavaScript>