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;适当增加索引以及子查询过滤后数据进行关联查询。