本篇文章是关于MySQL的总结和使用案例哦,本案例讲完之后,关于MySQL和SQL的内容就告一段落了。
1、MySQL回顾
1.1、不同职位对MySQL的技术要求
(1)数据分析:偏重于查询,各种查;
(2)程序员:表的设计、增删改查、注重SQL性能;
(3)DBA:MySQL服务器配置、SQL、服务性能、稳定性、数据一致性。
1.2、MySQL查询语句格式
SELECT ——查询
DISTINCT<select_list> ——去重
FROM<left_table> ——数据源
<join_type> JOIN <right_table> ——多表连接
ON <join_condition> ——连接字段
WHERE <where_condition> ——条件,查询前
GROUP BY <group_by_list> ——分组
HAVING <having_condition> ——过滤
ORDER BY <order_by_condition> ——排序
LIMIT <limit_number> ——限制
1.3、SELECT语句解析顺序、运行顺序
1)FROM:先加载这个表,知道数据从哪个表里获取;
2)ON:按照join_condition过滤数据;
3)JOIN:添加关联外部表数据;
4)WHERE:筛选数据;
5)GROUP BY:进行分组操作;
6)HAVING:筛选分组后的数据;
7)SELECT:选择指定的列;
8)DISTINCT:指定列去重;
9)ORDER BY:按照order_by_condition排序;
10)LIMIT:取出指定记录的数量。
2、MySQL案例
2.1、熟悉数据表
数据表:pporder.xls
字段包括:
2.2、导入数据
2.3、数据查询
select count(*) from pporder;
共有3.1万多条数据。
练习1:总投资人数 总投资金额
select
count(distinct user_id),
sum(sum_invest_money)
from pporder;
练习2:不同年份注册的投资用户人数,注册用户的总投资金额。
select year(create_time),
count(distinct user_id),
sum(sum_invest_money)
from
pporder
group by
year(create_time);
可以看出,2016年新增的用户最多,其次为2015年,说明2015和2016年为平台飞速发展的阶段,到了2017年,可能因为政策,也可能因为产品成熟等其他原因,平台新增用户减少了,或者后续将逐渐趋于稳定。
练习3:男性用户与女性用户投资人数
select sex,
count(distinct user_id)
from
pporder
group by
sex;
女性投资人数接近男性投资人数的两倍。可见,女性对于投资理财方面比较上心,也愿意去付诸实践。也可能是因为有比较多的家庭是女性在管理财政大权。
大部分时候,我们需要分析的数据就是这么简单,简单的分析已经能反映很重要的现象了。
练习4:贡献投资金额最大的十个年龄
select age, sum(sum_invest_money)
from pporder
group by age
order by sum(sum_invest_money) desc
limit 10;
或使用窗口函数:
select * from
(select age, sum(sum_invest_money),
rank() over(order by sum(sum_invest_money) desc) as ‘rank’
from pporder
group by age) t
where t.rank<=10;
可以看到,投资金额在前三名的是45-55岁的人,20岁左右的人可能没有投资的概念,大家可以考虑。
下篇文章继续讲解本案例,敬请期待哦。