语法:(窗口函数) over(partition by <用于分组的列名> order by <用于排序的列名>)
专用窗口函数:rank(),dense_rank(),row_number()
三者的区别:rank()会跳过行次,dense_rank()不会跳过行次,是连续的,row_number是一组连续的自然数.
聚合函数:sum(),count(),avg(),max(),min()
与分组函数区别:
group by()之后的数据改变了数据的行数,一行只有一个类别。而partition by 和rank函数不会改变数据的行数。
注意;窗口函数原则上只能写在select子句中
使用场景
1、组内排名
网友评论