MYSQL
文章平均质量分 64
Mysql从0到1
或许能用上
这个作者很懒,什么都没留下…
展开
-
【一点分享】Mysql高级特性:Event定时任务,用作定时调度ETL也很香。
接上篇,ETL的存储过程已经实现,需要手动执行。本文将实现定时自动执行,用Mysql自带的Event定时触发器,仍是熟悉的配方,分三部分总结:理论、实战、总结。1、Event定时触发器1.1 增删改查与存储过程、自定义函数非常相似,不再一一讲解,将有关sql呈现如下:更详细说明,请查看官方文档:https://dev.mysql.com/doc/refman/8.0/en/sql-data-definition-statements.html1.2 定时2种定时方式,每隔多久执行原创 2021-08-23 16:59:30 · 168 阅读 · 0 评论 -
【一点分享】Mysql存储过程,拿ETL小试牛刀,确实很锋利。
之前的sql3天入门系列,讲过select统计用户维度的报表,每次看结果时都需要写一遍sql或执行一遍sql,要命的是总是变化调整参数,很是头疼,没技术含量。细品,这就是重复的操作,根据条件反射,咱们必须封装,用存储过程来搞定重复的查询统计,并且还可以把结果存起来,随时查看。(当然,为了查看还有更方便的方式,对接到数据平台外化为图表,关注后续文章会有分享。)今天内容直接就是实战,没有理论了。Mysql相关基础请移步至Mysql专栏系列文章(点击查看)。1、rpt报表ETL,v1.1 版本原创 2021-08-22 21:55:44 · 338 阅读 · 0 评论 -
【一点分享】Mysq高级特性:存储过程,小而美的ETL工具。
此Mysql的学习从最早的3天上手,到近几期的高级特性,逐步靠近实际工作的应用。本文也终于来到ETL工作的门口了(当然有很多其他ETL模式),是非常有意思的工作。存储过程与昨天分享的的Mysql自定义函数相似,文章依然分三部分:存储过程讲解、实战演示、总结。一、存储过程1、增删改查表的数据有增删改查,自定义函数有增删改查,存储过程也同样有增删改查。1.1 增,新建存储过程1.2 查列表,全部存储过程1.3 查定义,存储过程的完整代码内容1.4 删-- 通常.原创 2021-08-21 22:14:39 · 223 阅读 · 0 评论 -
【一点分享】Mysql高级特性:函数,学会后几百行的Sql变几十行
前述3篇文章已经分享了Mysql的高级特性:窗口函数、wit通用表达式和json函数,本文将继续分享高级特性,自定义函数,分三部分呈现:第一部分,介绍Mysql的自定义函数。第二部分,实战,解决问题。第三部分,总结。一、自定义函数通常编程语言中的函数是必备技能,不管是面向对象还是面向过程,都离不开函数。Mysql中也有函数功能,常用的是内置函数(built-in functions),自定义函数功能也要学会,很实用。1、创建函数下面2个简单的实例找下整体的定义感觉。1.1原创 2021-08-20 22:47:36 · 155 阅读 · 0 评论 -
【一点分享】Mysql新造的轮子太好用了,以前怎么没发现,json函数妙不可言。
上篇文章尝试用with递归解决了数组拆分为多行的问题。今天再次尝试使用json_函数解决。昨天预留的作业放在本文第二部分进行实现。一、json函数1、准备json数据由于原表没有json格式的列,先构造json格式的电影类型字段,如下:2、验证json数据json_valid()、json_length()3、数组拆分前述将字段加工为json格式后,用json函数json_table(),也是非同凡响呀,更简洁,如下:二、作业解答昨天预留了4道题目,按此前原创 2021-08-19 22:18:46 · 129 阅读 · 0 评论 -
【一点分享】用Mysql分析豆瓣数据,竟有意外的收获,sql还能如此高级。
这两天在精选影视内容,已初步准(爬)备(虫)好了部分数据。(p.s. 对爬虫感觉兴趣的朋友请关注后续文章)按之前的数据分析七步法,下一步是数据处理。本次尝试完全使用Mysql来处理,不借用其他工具。一、数据处理——数组字段拆分上来的第一个难题就是电影的类型字段,是个多值类似数组格式,需要拆分。网上也有很多不同的解决方案,要用到自定义函数、存储教程、临时中间表、json,步骤较长,不易理解。要是有简洁的方法就好了。笔者昨天分享了with使用,正好其中有使用with的递归来解决问题。还记得笔者是原创 2021-08-19 00:24:49 · 122 阅读 · 0 评论 -
【一点分享】Mysql高级查询:with,让sql不再冗长油腻。
昨日问over()里可以partition by几个字段,order by 几个字段?只要你能理解partition by和order by的组合含义,by几个都可以。今天继续学习新的知识,又是一个新的高级特性,with定义通用表达式,可理解为一个可定义的对象,在sql代码中进行引用。1、使用2、总结with cte极大提升代码可读性,可在sql头部编写;而中间表只能在sql中间被定义;cte和中间表都需要as来给个名称cte可被多次引用;中间表只能被使用一次原创 2021-08-19 00:17:53 · 463 阅读 · 0 评论 -
【一点分享】Mysql的窗口函数,分析功能从此上一个台阶。
一、理解Mysql8.0开始支持窗口函数,极大增强了Mysql的统计性能,再也不会被Oracle等鄙视了。Mysql8.0还增加了其他实用的高级性能,关注公众号后续文章进行了解。1、使用场景可从两个角度来了解和分辨需要使用窗口函数的场景。(1)要查询的数据有n组性质相同的数据集(订单表可以按品类分成n组、按日期分成n组等),对每组组内的数据都需要做相同的统计计算。比如各品类的销售额前3名的商品分别是?比如各部门出勤率最好的3位员工是?(2)符合以下5类窗口函数的代表的统计意义排序函数原创 2021-08-19 00:16:29 · 334 阅读 · 0 评论 -
【一点分享】如何确定主表,即a left join b的a表?
a left join b或 b right join a的a表,如何确定,有时也会犯迷糊,导致结果维度缺失。今天分享两个原则:高频的一个原则——维度表维度表去left join事实表或结果表,dim表left join eve表或rpt表。通常的日期维度、地域维度、以及公司的各种业务维度。dim:维度表;eve:事件表;rpt:结果表。这样可以保证维度数据都出现在最终的统计结果中(没有产生数据的多数是null值),不会丢失。此前案例中出现过直接基于事件统计日报,发现有些日期缺失,就是这原创 2021-08-19 00:15:13 · 812 阅读 · 0 评论 -
【一点分享】数据分析必会的日期维度表,你知道怎么生成的吗?
在数据分析中,日期维表的作用有多重要,无需赘言。日期维表通常不会在OLTP库存在,所以需要数据分析师生成。日期维表的生成方式非常多,只要是程序语言,都能生成。本文,笔者将使用Mysql来生成自然日期(date_type=NA)的日和周维度数据。一、维表结构每个公司的业务周期有各自特点,可个性化定义维度列。笔者定义date_type='NA'为自然日期,周期字段,业务特点的日期类型。二、维表数据示例数据是根据需要生成的,自己完全可定义维度的业务逻辑进行实现。三、维表生成原创 2021-08-19 00:13:54 · 534 阅读 · 0 评论 -
【一点分享】Sql笔记:3天就可以写出很溜的Sql,飞一样的感觉(第3天)
1、日期维表日期维表的提前生成,请参考后续公众号文章。2 、维表参与统计承接昨天文章的任务,维度表参与统计。将昨天的sql进行改造。3、行转列4、行错位运算5、分析函数6、用户留存7、用户画像标签昨天文章有案例,可再扩展。8、纵表存储标签中间数据上个标签案例,一条sql出了多个标签。实践中,会将标签分别存到中间表,再统一整理为标签大宽表,即行转列。ok,3天的内容已经过完,是否有感觉呢。建议对照sql再执行,直到原创 2021-08-19 00:11:10 · 113 阅读 · 0 评论 -
【一点分享】Sql笔记:3天就可以写出很溜的Sql,飞一样的感觉(第2天)
一、复杂查询1、按行合并1.1 union1.2 union all2、按列合并,join关联查询2.1 left join2.2 right join2.3 inner join2.4 更多join2.5 主表a left join b on a.f = b.f,此时a为主表;b right join a on a.f = b.f,a还是主表。到底把谁作为主表去left join呢?以谁为视角去查别的信息,这个谁就当作为主表。比如上述原创 2021-08-19 00:09:51 · 52 阅读 · 0 评论 -
【一点分享】Sql笔记:3天就可以写出很溜的Sql,飞一样的感觉(第1天)
笔者曾经要求新同学第1天要写出12道从易到难的Sql,哪怕背下来都行。现进行改良,3天由浅到深,配上解释,加强理解。以Mysql为例,其他语法类似。第1天:基础查询、简单统计第2天:复杂查询、复杂统计第3天:数据需求实战1、select有时会对表达式进行试算,不用from表也行。-- * 前面不能放字段,*后面可以放字段select ip, * from mid_eve_wkb_user_log;YouhaveanerrorinyourSQLsynt...原创 2021-08-19 00:04:18 · 137 阅读 · 0 评论 -
【一点分享】有个数据分析师这么评价Sql
Sql是了不起的发明,40多年了????????,比Java、Python还要早,了不起。1974年由Boyce和Chamberlin提出,并首先在IBM公司研制的关系数据库系统SystemR上实现。由于它具有功能丰富、使用方便灵活、语言简洁易学等突出的优点,深受计算机工业界和计算机用户的欢迎。1980年10月,经美国国家标准局(ANSI)的数据库委员会X3H2批准,将SQL作为关系数据库语言的美国标准,同年公布了标准SQL。此后不久,国际标准化组织(ISO)也作出了同样的决定。条条道路通罗马,原创 2021-08-18 23:58:20 · 83 阅读 · 0 评论