提纲
SQL题的练习
注意spark-SQL 和 HQL语法的区别
学习SQL中的技巧
训练一下
练习题来自网络和leedcode
还有把hive的复习纲要上面的函数与练习题都练习一遍
把数仓SQL题再写一遍
一共大致200道SQL题争取一个月内完成!!!!!
把一些反馈记录下来
2-3
1.写了30道SQL题发现的问题是懒惰,执行出错急于看答案,对于一些不会的题目脑子里没有印象,我应该再写一遍,继续总结.大部分题目都是简单题,我要做的是不会写的题目要有思路,而不是寻求答案,暂且,还有实践的空间
2-10
2.写了100道SQL题,发现leedcode的题目过于简单,比较难的题目就是题目难理解的题目了,
这些题目中,比较难的题目的解决思想有构造一个辅助表,0与union all row_number结合构造0-max的数,在having中使用聚合函数进行判断,构造一个tag,等量代换的解决方法,还有一个就是case when的巧妙应用,在leedcode篇章我会进行说明,还有要重点关注一类题型分类讨论:我对这类题目比较生疏
把题目刷完要注意结合实际业务对SQL进行复习和精进
2-11
3.leedcode全部的题目刷完,下一步梳理错题与总结SQL题的解题思路和方法
leedcode的高频题还没再写一遍:
下一个阶段的任务是
1.如上,继续发掘leedcode习题,完成高频题
2.写一篇博客总结SQL题的解题方法(2月底完成)
3.把牛客网错题总结一下,把互联网50题在写一遍,把数仓项目的SQL再写一遍
2-20
4.10天后我再一次写SQL题,这次写了20道题,梳理了一下了牛客网的题目,感觉进步很大,但是对having过滤的使用不够清晰,对序列号的处理不够清晰......
3-21
一个月后,基本上各种SQL题都做过了,提供一些较难的SQL题类型:left join 和 join 的选择问题,事实上并不简单,行转列/列转行的问题,涉及split,炸裂函数的使用我认为是较难的题目,以及复杂类型的处理:array/struct/map等处理起来还是细节性质的,最后是SQL中的数据倾斜问题应该怎么避免,SQL结构的优化问题
5-30
发现在SQL的处理上遇到了一些瓶颈了,对数据还是不怎么敏感,以及对时间的处理不是很擅长
最近要读一点数据分析的书籍了
8-12
SQL处理是掌握了,目前主要就是整理SQL与分类,上班其实没有什么SQL上的难点,主要就是对业务的理解,以及使用SQL来解决问题,因此下一步的重点是治理
我尝试一些SQL的优化方法,但是并没有取得什么关键的效果,知道和使用其实相差很大的
10-30
要关注一些多join连接的性能问题,高枚举值的Join连接性能问题
要关注一些sql的参数设置优化性能
2022-02-15
- 归因分析,漏斗分析,路径分析的设计方案
- 大表join大表的加速方案
- 加速明细表去重的问题
- 加速高基数维度的查询问题
把一些知识点记录下来
1.sum() 窗口自连接的实现
2.行转列的操作
3.avg() sum() 等窗口函数在同一个select中开窗,大小不同有妙用,解决了group by 字段维度不一致时要join的问题
4.注意null的处理,我要总结一下,还是不太明白
5.row_number() 和dense_rank() 的效率
6.中位数求法的妙用,使用两个序列函数asc desc来实现:题目:给定数字的频率查询中位数
7.union 和 or 哪个的效率高
8.SQL中,去重有哪些优化的方法
9.位运算的使用
10 where联合字段的使用
11.max等聚合函数与group by获取最大值的问题,使用窗口函数,或使用子查询获取每个组内的最大值,外边where联合字段查询并列情况
12.all关键字的使用
13.信息min/sum的开窗与题意的结合
14.注意没有主键情况下 != 尽量转化为 not in 等(采坑)
15.辨析left join 中条件过滤 on和where的区别
16.count():求1,id,出现的id出现的次数,不包含0
17.联合去重distinct
18.distinct与count()一起用采坑
19.分类讨论的解决方法
20.辅助表的构造方法
21.使用自连接,解决等量代换的问题
22.采用一个组内全局的count来获取,top问题
23.mysql中的function
24.hive中的分位函数和桶函数
25.14天趋势计算
26.同比计算的通用式
27.除数/被除数=0 的解决思路
28.数据倾斜的定位和真正的优化
29.同比报表化的SQL逻辑
30.不同计算引擎在null/0/NAN处理一致性方案
把一些总结记录下来
问题1:自连接问题
sum() 窗口的解决思路
序列函数(rank等) 实现思路
分组topN不用窗口怎么写
问题2:重点题
多条件过滤,总结篇第一题
用户购买平台
hapaer平台
查询球队积分
问题3:递归的问题
问题4.标签的问题
问题5.用基本的SQL语法来替换函数
问题6.多map嵌套下的同比计算解决方案