01 What:这篇文章写的是什么
???????现在工作的公司,管培实习的方向是写sql语句解决学习任务,其中因为自己菜,跌跌撞撞踩的坑,在此记录一下下sql坑。
02 Why:为什么有写这篇博客
???????深刻记录一下下自己对sql与·python在数据清洗中的认知。 ???????小结: 记录一下下自己对sql与·python在数据清洗中的认知。 之前一直对sql语句、python语言作为数据分析里面数据提取及清洗的工具。清洗数据的流程一般是jupyter 里面连接数据库,然后拉取数据在jupyter里面回开辟内存存储变量。接下来就可以用python里面的各种数据分析包进行数据处理,得到我们想要的结果,因为python语言的灵活性,99.99%都可以很快速满足解决我的数据清洗的需求,但是这样也是各有优缺点: sql拉取数据+python 优点:可以快速地借用python丰富的第三方库完成数据清洗 缺点:python处理数据是拉取数据开辟内存存储,对于处理比较大的数据(千万级别)就优点尴尬了,容易遇到内存溢出的问题。 sql: 优点:可以对上亿级别进行处理 缺点:真的没有python灵活 ???????最近几天一直是用sql解决数据清洗的需求,因为实习学习任务,现在终于完成的task01,写作灵感喷涌。
03 正文:“坑”
string_agg详细介绍
- string_agg()
string_agg("需要处理的字段",'分隔符' order by ranks )
这个函数是sql server里面有,但是mysql 里面用的是group_concat,一开始我没有意思到,疯狂在搜索group_concat相关方法,后面才开始用string_agg。是解决了字段拼接的问题,但是my解决按指定拼接字段排序的问题,百度了很久+自己为了解决拼接字段,又需要返回去推进行一些表关联以及窗口函数,最终解决了。
|