暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

一个MySQL的使用案例

布兰嘎来了 2021-05-10
325

本篇文章是关于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岁左右的人可能没有投资的概念,大家可以考虑。

 

下篇文章继续讲解本案例,敬请期待哦。


文章转载自布兰嘎来了,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论