1.窗口函数:over()
2.分区分析
partition by field1,field2 order by sorted_field1
3.分组分析
group by field1,field2
**:区别:partition by 保留分区所有数据 搭配窗口函数和排名函数进行排序 排名 范围排序等;输出结果为所有数据;
group by 只保留相同分组字段中第一条数据(注意 如需要按照排序分组,SQL执行数据为group by > order by);sql执行器优化后不会按照order by进行取第一条数据;
需要(子查询 order by ) group by ;)
4.join on table1.field1 = table2.field2 and table1.field3 = table2.field4;如果field字段为空;则关联数据则会丢失;需要使用IF函数判空并给默认值进行关联
5.explain: 关注字段:type index where filter;适当增加索引以及子查询过滤后数据进行关联查询。
本文详细介绍了SQL中的窗口函数over()、分区分析(partitionby)与分组分析(groupby)的区别,强调了在join操作中处理空值和使用索引的重要性。同时讨论了如何通过explain优化查询性能。
3931

被折叠的 条评论
为什么被折叠?



