读后感:《SQL数据分析实战》运营SQL实用手册

news2024/11/15 19:50:50

学习SQL,先有用起来,有了使用价值,之后才是去了解它的原理,让使用更加顺畅。

在大部分业务场景中,通过SQL可以快速的实现数据处理与统计。《SQL数据分析实战》区别于其他工具书,它并没有介绍SQL是什么,而是直接讲了如何使用。就好像大模型一样,我们只需要知道怎么用就好。

在《SQL数据分析实战》一书中,根据日常营销、运营、市场中需要统计的数据内容做了归纳,整体来看可以分为下面几个部分。

1、为什么运营需要用SQL
1.1、哪些场景需要用到SQL
1.2、运营用SQL解决哪些问题
2、具体需要用到的SQL内容
3、常用的SQL统计模板

为什么运营需要用SQL

运营的定位

运营的定位是企业中负责推动产品或服务的日常运作、维护和发展,确保其在市场上的活跃度和竞争力。不仅涉及日常管理,还包括战略规划与执行,旨在实现企业的长期目标。

  • 用户关系管理: 通过有效的用户管理策略,如社区运营、客户服务等,增强用户的粘性和忠诚度。
  • 数据分析能力: 运营人员需具备强大的数据分析能力,以便从大量数据中提取有价值的信息,指导运营决策。
  • 项目管理技能: 能够有效管理多个项目,确保每一个项目都能按时完成并达到预期效果。

哪些场景需要用到SQL

运营数据分析的运用场景广泛,涵盖从用户行为分析到产品优化、销售预测和市场趋势分析等多个方面。这种多维度的应用使得数据分析成为企业运营不可或缺的一部分。下面将详细探讨运营数据分析的各种应用场景:

  1. 用户行为分析
  • 用户细分:通过分析用户的购买历史、浏览习惯和交互行为,企业可以将用户分为不同的群体,以便提供更加个性化的服务或产品。
  • 用户体验优化:利用用户在平台上的行为数据,比如点击率、页面访问时长等,可以评估并改进网站的用户界面和用户体验。
  • 产品优化
  • 功能迭代:基于用户行为数据分析,识别哪些功能受欢迎,哪些需要改进或淘汰,帮助产品更贴近市场需求。
  • 市场调整:分析不同市场或用户群体对产品功能的接受度,调整产品策略以适应不同市场的特定需求。
  • 销售预测
  • 趋势分析:通过对历史销售数据的分析,预测未来的销售趋势,帮助企业提前做好库存和供应链管理。
  • 效果评估:分析营销活动的效果,如优惠券使用情况和促销代码追踪,以优化营销策略并提高ROI。
  • 市场趋势分析
  • 竞争对手监控:通过分析竞争对手的市场表现和客户反馈,调整自身的市场策略,保持竞争优势。
  • 市场机会识别:利用行业数据和市场趋势分析,识别新的市场机会或潜在增长领域。
  • 风险管理
  • 异常检测:分析用户行为数据,识别异常模式,如欺诈行为或安全漏洞,保护企业免受损失。
  • 合规性监控:确保数据处理和分析过程符合相关法律法规,如GDPR或其他数据保护规定。

运营用SQL解决什么问题

  1. 数据提取与查询
  • 基本数据获取:运营人员经常需要从数据库中提取特定时间范围或条件下的数据,例如订单信息、用户活跃度等。通过简单的SQL查询,如使用SELECT语句结合WHERE子句,可以直接从数据库中快速获得所需数据。
  • 多表数据整合:在实际业务场景中,所需信息往往分散在不同的表中,如订单详情、产品信息和用户资料等。通过SQL的多表查询功能,例如使用INNER JOINLEFT JOIN,能够有效地合并多个表中的数据,为运营决策提供全面的数据支持。
  • 数据分析与洞察
  • 业绩指标计算:运营团队需要定期计算各种业务指标,如总销售额、平均订单值等。通过SQL的聚合函数如SUM()AVG()等,可以快速计算出这些关键指标,帮助评估运营效果。
  • 复杂数据分析:对于更复杂的分析需求,如计算留存率、客户生命周期价值等,SQL的窗口函数和自定义聚合功能提供了强大的数据处理能力。例如,使用OVER(PARTITION BY)可以进行分组计算,有效支持复杂的业务分析。
  • 报告自动化与优化
  • 数据可视化支持:虽然SQL本身不直接支持数据可视化,但其处理后的数据可以方便地导入到BI工具中进行图表展示。这样,运营人员可以通过图形界面直观地监控业务趋势和性能指标。
  • 自动报告生成:通过定时运行的SQL查询和存储过程,可以实现数据报告的自动更新。这不仅提高了工作效率,还能确保运营团队总是掌握最新的业务数据。
  • 效率提升与沟通简化
  • 减少技术依赖:运营人员如果掌握了SQL,可以在不依赖IT部门的情况下自行处理数据查询和分析任务。这不仅加快了工作流程,也减轻了技术团队的工作负担。

需要掌握哪些SQL技能

SQL的基础数据类型

SQL的基础数据类型主要有以下几种:

1.数值类型:包括整数类型(如INT、SMALLINT、TINYINT等)、浮点数类型(如FLOAT、DOUBLE、REAL等)和定点数类型(如DECIMAL、NUMERIC等)。

2.字符串类型:用于存储字符数据,包括CHAR、VARCHAR、TEXT等。其中,CHAR是定长字符串,VARCHAR是变长字符串,TEXT用于存储大量文本数据。

3.日期和时间类型:用于存储日期和时间数据,包括DATE、TIME、DATETIME、TIMESTAMP等。其中,DATE表示日期,TIME表示时间,DATETIME表示日期和时间,TIMESTAMP表示时间戳。

4.二进制类型:用于存储二进制数据,包括BINARY、VARBINARY、BLOB等。其中,BINARY是定长二进制数据,VARBINARY是变长二进制数据,BLOB用于存储大量二进制数据。

5.布尔类型:用于存储逻辑值,包括BOOLEAN、BIT等。其中,BOOLEAN表示布尔值,BIT表示位值。

6.数据结构:JSON和数组,如JavaScript对象表示法(JavaScript object notation,JSON)和数组。数组是简单的数据列表,通常用方括号括起来,如['cat','dog','horse'];JSON对象说一系列以逗号分隔并用大括号括起来的键值对,如{'name':'Bob','age':27'}。

SQL查询的基础关键语法

select :输出筛选分组聚合后的最终展示列名和聚合运算列

from:从数据表获取数据

where:筛选数据的条件逻辑

and/or:筛选条件之间的关系

in/not in:范围条件筛选

is null/is not null:是否为空判断

group by:对筛选后数据进行分组聚合

having:对聚合列进行过滤

order by:对输出结果按指定列排序

limit 5:限制输出数据行数

SQL查询的数据组合

1.使用join连接表(inner和outer可省略):用on关联对应的列名。

如:

select * from table1 left join table2 on table1.name = table2.name

2.使用union (all)对表进行上下合并(加all表示不去重),注意表对相同列输出列名需保持一致,否则会同时展示两个表的列。

如:

select * from table1 
union all 
select * from table2

3.公用表表达式:使用with建立临时表

with tb as (
  select * from table1
)
select * from tb

常用的SQL函数和取数模板

常用的SQL函数

1.转换数据

case when函数:将查询列中的值映射为其他值

case when ... then '...' 
 when ... then ''
 else '' end as new_columns

coalesce函数:填充为首个非空值

nullif函数:如果第一个值等于第二个值则返回null

least函数:返回任意数量的值的最小值

greatest函数:返回任意数量的值的最大值

转换函数:columns::datatype(columns为列名,datatype为数据类型)

distinct函数:获得唯一不同列组合

distinct on函数:对目标列存在相同数据,仅返回一行数据,可配合order by对保留行进行选择

如:

select distinct on (first_name),* from table order by first_name,hire_date

2.聚合函数

count(columns):计算非空行数

count(*):计算所有行数

min():最小值

max():最大值

sum():求和

avg():求平均值

stddev():求标准差

var():求方差

regr_slope(x,y):求x为因变量,y为自变量时线性回归的斜率

regr_intercept(x,y):求x为因变量,y为自变量时线性回归的截距

corr(x,y):求x与y之间的皮尔逊相关系数

3.窗口函数

select {columns},{window_func} over (partition by {key} order by {order_key}) from table

其中:window_func表示窗口函数,key表示要分区的列,order_key表示要排序的列;常用窗口函数有:

  • row_number:1,2,3
  • rank:1,1,3
  • dense_rank:1,1,2
  • ntile(n):基于order by计算n分位数
  • lag(columns,n):返回columns列当前行向前n行数据
  • lead(columns,n):返回columns列当前行向后n行数据

frame子句:(PRECEDING:往前 - FOLLOWING:往后)

如,滚动的近7天数据:

select date
,amount
,avg(amount) over(order by date rows between 7 preceding and current row) as date_move_7_avg
from table

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1711746.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

电脑卡顿---WINDOWS任何关闭应用开机自启动

打开windows11的控制面板,点击应用,点击启动 如下图圈出来的地方就是开机自启动的开关按键。

气密检测中泄漏率的质量流量与体积流量的转换

对于R-134a等制冷剂,泄漏率通常表示为质量流量(每年的逸出质量)而不是体积流量(特定时间段内给定压力下的逸出质量)。因此,通过制冷剂的年泄漏量来定义泄漏级别,常用的单位为g/a。以某款车型为例…

SAP MM模块后台配置(下)

3.10 采购订单的审批过程 配置路径 IMG->物料管理-采购-采购订单-审批过程-含分类的过程 事务代码 SPRO 配置请求号 配置描述:我们用这个配置来进行九牧集团用到的采购订单的审批策略的定义: 配置屏幕: …

redis常用数据结构及命令

Redis数据结构简介 Redis可以存储键与5种不同数据结构类型之间的映射,这五种数据结构分别为String(字符串)、List(列表)、Set(集合)、Hash(散列)、和Zset(有序集合)。 …

让EXCEL VBA支持鼠标滚轮,vb6 IDE鼠标滚轮插件原理

vb6 IDE鼠标滚轮插件怎么运行的(适用于VBA) 使用 Spy,我发现代码窗口正在获取 WM_MOUSEWHEEL 事件,但没有触发 WM_VSCROLL 消息。因此,我编写了一个简单的消息钩子,当它捕获鼠标滚轮事件时触发滚动事件。 我从 Spy 得知代码窗口的…

日常使用工具(截图,笔记,一键启动)

目录 一,截图 Snipaste 二.笔记 Joplin 三.翻译 四.自动启动软件 这篇记录一下工作中用的很顺手的工具. 一,截图 Snipaste 官网:Snipaste - 截图 贴图 下面是官方手册. 使用 我都是直接F1 就会出现选择框,随意拖动大小,选择下方工具栏,相应位置, 二.笔记 Joplin 官网:…

IDEA 2023.3.6 下载、安装、激活与使用

一、IDEA2023.3.6下载 国际官网:https://www.jetbrains.com/ 国内官网:https://www.jetbrains.com.cn/ 如果国际官网无法访问,就使用国内官网,我们以国内官网为例下载IDEA2023.3.6 首先进入首页如下图&#xf…

芯片原厂驱动开发工程师:初学到精通,如何快速成长?

01 前言 大家好,我是XX,来自湖南XX学院,电子信息18级,也曾在创新基地控制组学习过两三年,毕业后就职于一家芯片原厂的解决方案部,担任驱动工程师的职位,算上实习期,我的工作时长已有…

【机器学习】深入探索机器学习:线性回归算法的原理与应用

❀线性回归算法 📒1. 引言📒2. 线性回归的基本原理🎉回归方程🎉最小化误差🎉线性回归的假设条件 📒3. 线性回归算法的实现📒4. 线性回归算法的特征工程📒5. 线性回归模型评估与优化&…

【模拟退火算法】超详解全局优化算法

模拟退火算法是一种基于概率的全局优化算法,广泛应用于解决复杂的优化问题。 一、模拟退火算法的基本原理 初始化温度:设定一个初始温度( T_0 ),并随机选择一个初始解 ( x_0 )作为当前解。迭代过程:在每个温度下进行固定次数的…

ubuntu移动硬盘重命名

因为在ubuntu上移动硬盘的名字是中文的,所以想要改成英文的。 我的方法: 将移动硬盘插到windows上,直接右键重命名。再插到ubuntu上名字就改变了。 别人的方法: ubuntu下如何修改U盘名字-腾讯云开发者社区-腾讯云 在自带的软件…

opencascade 快速显示AIS_ConnectedInteractive源码学习

AIS_ConcentricRelation typedef PrsDim_ConcentricRelation AIS_ConcentricRelation AIS_ConnectedInteractive 简介 创建一个任意位置的另一个交互对象实例作为参考。这允许您使用连接的交互对象,而无需重新计算其表示、选择或图形结构。这些属性是从您的参考对…

CUDA_VISIBLE_DEVICES‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。

问题: 命令行出现CUDA_VISIBLE_DEVICES0 python trainer.py这种命令 这是Linux可以的,但是Windows不行。 解决方案: 这条命令的含义是指定某个GPU来运行程序,我们可以在程序开头添加指定GPU的代码,效果是一样的&…

SQL高级知识:开窗函数

点击关注公众号,SQL干货及时获取 后台回复:1024,获取海量学习资源 SQL刷题专栏 SQL145题系列 开窗函数的定义 开窗函数用于为行定义一个窗口,它对一组值进行操作,不需要使用GROUP BY子句对数据进行分组,能够…

重学java 49 List接口

但逢良辰,顺颂时宜 —— 24.5.28 一、List接口 1.概述: 是collection接口的子接口 2.常见的实现类: ArrayList LinkedList Vector 二、List集合下的实现类 1.ArrayList集合的使用及源码分析 1.概述 ArrayList是List接口的实现类 2.特点 a.元素有序 —> 按照什么顺…

【Flutter】显式动画

🔥 本文由 程序喵正在路上 原创,CSDN首发! 💖 系列专栏:Flutter学习 🌠 首发时间:2024年5月29日 🦋 欢迎关注🖱点赞👍收藏🌟留言🐾 目…

ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务

ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务 问题描述: 解决方案: 1、检查oracle的监听服务是否运行正常 1)点击键盘的winr,输入services.msc,点击确认/回车键; 2)查…

2023年信息素养大赛小学组C++智能算法复赛真题

今天给大家分享2023年全国青少年信息素养大赛小学组C智能算法挑战赛复赛里面的一套真题,希望有助于大家了解复赛的难度及备考。 其他真题下载:网盘-真题-信息素养大赛

PyTorch安装与配置

前言 参考文档:https://github.com/TingsongYu/PyTorch-Tutorial-2nd 环境配置之Anaconda 解释器——python.exe,是人类与CPU之间的桥梁,需要配置系统环境变量 Anaconda:集成环境,包管理器 Conda 安装 Anaconda&am…

12.2 通道-阻塞与流程控制、通道型函数、退出通道

阻塞与流程控制 通常在并发程序中要尽力避免阻塞式操作,但有时又需要让代码暂时处于阻塞状态,以等待某种条件、信号或数据,然后再继续运行。 对于无缓冲通道,试图从无人写入的通道中读取,或者向无人读取的通道中写入…