数仓工具—Hive语法之窗口函数中的order by
窗口函数中的order by
其实工作这么多年了,再加上写了这么多的文章,我觉得我还是很理解窗口函数这个东西了,毕竟在工作中用了这么多,各种row_number 排序求分组前几,各种lead/lag 代替自关联实现感觉已经得心应手了。
但是最近遇到窗口函数中的order by 的问题,然后我发现自己并不是很了解这个东西,我们还是从例子开始吧。
order by 对窗口函数的影响
我们的数据如下,你可以使用pyspark 快速创建上手
df1 = spark.createDataFrame([
("2024-9-28", 20, "西南第一店"),
("2024-9-29", 18, "西南第一店"),
("2024-10-03", 16, "西南第一店"),
("2024-10-04", 10, "西南第一店"),
("2024-10-05", 50, "西南第一店"),
("2024-10-10", 30, "西南第一店"),
("2024-10-11", 18, "西南第一店"),
("2024-10-12", 21, "西南第一店"),