SQL开窗函数 row_number(),dense_rank(),rank(),
row_number(),无参函数,括号不能省略
观察发现第二个窗口的第1,2行amount值相等都为800,但排名不是并列第一,
为实现并列排名dense_rank() 排名序号连续,rank()函数排名序号不连续
对比如下:
注意where子句中不能使用开窗函数和聚合运算,所以用表子查询完成筛选,特别主要表子查询对表必须起别名,where才能引用排名字段
row_number(),无参函数,括号不能省略
观察发现第二个窗口的第1,2行amount值相等都为800,但排名不是并列第一,
为实现并列排名dense_rank() 排名序号连续,rank()函数排名序号不连续
对比如下:
注意where子句中不能使用开窗函数和聚合运算,所以用表子查询完成筛选,特别主要表子查询对表必须起别名,where才能引用排名字段