查看原文
其他

产品经理学SQL

刘大大a 产品刘 2022-11-10

最近在工作中需要查询一些数据进行数据分析,又不好每次都麻烦开发小哥哥,于是只能动手自己查询。今天就来聊聊如何取数。(其实严格意义上来说,SQL不能算是一门编程语言,只能算是一个取数工具。)


学习SQL的好处

1、不用每次都麻烦开发

找开发小哥哥给你查询数据,你可能得等半天,而自己查询的话,一两分钟的事情。即装逼,又高效。

2、为转型数据产品经理打下基础

很多小伙伴都说自己想做数据产品经理,想做人工智能产品经理。不论是人工智能还是大数据产品经理都是需要和数据打交道的,想做人工智能首先就要学习机器学习,机器本身就需要大量的数据进行喂养才能达到学习的效果。而大部分的数据来源都是公司的数据仓库,SQL语言可以帮你了解机器学习的指标体系构建和特征提取。

3、高效处理数据

产品经理日常和数据打交道的场景很多。大部分同学可能都是通过EXCEl进行数据的可视化,比如做数据透视表这些。但是如何从多张表执行繁杂的“连接”操作和“分组”后“选择”需要的字段,这些EXCEl实现不了,但是对于SQL来说就是一句话的事情。


SQL实例讲解

1、数据库单表查询

1.1 基本的查询语法

select 列名 ---查询指定要显示的字段;如果要查看所有的列,则用*号表示

From 表A ---选择要查询的表

where 限制条件 ---各种过滤条件,例如:大于,小于等

Group by ---按指定列名进行分组统计。比如今天新增了多少名会员,今天形成了多少笔订单

Having 列名 ---对分组统计的结果进行限制。主要用来做顾虑。比如我统计每天的订单总数是多少,统计出来以后,我想知道订单总数大于100 的是多少,主要对Group by统计之后的数据进行过滤

Order by 列名 ---对查询结果进行排序(ASC升序,Desc降序),默认是升序

Limit N ---给出N条数据



1.2 实例讲解

比如订单 by_order表结构:

例子1:查询表前10行数据

例子2:找出订单金额大于200的顾客

如果会员重复怎么办呢?比如同个会员买了两次,每次金额都大于200,但我只想知道买过的金额大于200的会员有哪些,这个时候该怎么办呢?

答案是可以用distinct去重。

例子3:找出订单金额大于20小于200的顾客

例子4:按照订单金额进行排序

如果你想降序排列



1.3 汇总:group by

实际工作中的你也不会只看订单明细,而需要看看每一天的订单总额、每个顾客的每天购买金额这类数据,那这种统计类的数据就需用到Group by了。

Group by 一定是跟着汇总函数一起使用

基本的汇总函数有以下几项:

max() 统计最大

min() 统计最小

count() 计数,如果需要去计算列去重,则count(distinct)

avg() 计算平均数

sum() 汇总


例子1:统计顾客的累计购买金额

例子2:统计各个顾客的每天购买金额

备注:as sum_money 和as as day_1 都是取别名用的。

如果不写as sum_money,则显示的是左边的列表,如果加入as sum_money 则最终结果显示的下图右边的表格




遇到不懂的技术问题怎么办?

1、询问技术

抽屉里常备一些零食,没事给同事发一发,平时多帮帮别人,下次向人请教,别人也愿意帮助你。

2、百度

能百度找到答案的问题都不是问题。不要懒,也不要轻易麻烦别人。在工作中也一样,自己能解决的问题不要找领导,除非拼尽全力也解决不了。

3、多实践

掌握的技术知识还得在实践中多练习。就像高中物理老师给我们上完课以后,我们需要通过大量的习题来巩固知识一样。学习到的这些知识还是得在实践中多多练习。

下一次我们将分享多表查询,喜欢的小伙伴可关注微信公众号:产品刘

有疑问的小伙伴也可以加微信:chanpin628进行交流。

PS: 转发此篇文章到朋友圈或者是产品经理群,并截图发给微信chanpin628,可以找我领取一份《用户体验要素》电子书

更多干货可关注微信公众号:chanpinliu880

想学习更多关于产品、职场、心理、认知等干货,可长按右边二维码,关注我们。

往期精彩文章

面试题,说说你理解的中台

快手列表设计原来是遵循这个思路......

手把手教你做产品经理1.0

B端产品如何寻找竞品


点击“阅读原文”

即可进行报名。

您可能也对以下帖子感兴趣

优刻得:使用 USDP 实践近实时数据湖仓
Apache Doris 2.1.4 版本正式发布
Apache Spark SQL 原理
R语言 管道符%>%的使用
Room数据库使用一些坑

文章有问题?点此查看未经处理的缓存