sql – rowsBetween和rangeBetween之间有什么区别?
来自PySpark docs
rangeBetween :
而
对于rangeBetween例如,“1 off”与“1行”有何不同? 解决方法很简单:> ROWS BETWEEN并不关心确切的值.它只关心计算帧时的行顺序. 让我们使用两个窗口定义的示例: >在前2行和当前行之间排序x行 和数据为 +---+ | x| +---+ | 10| | 20| | 30| | 31| +---+ 假设当前行是第一个窗口的值为31的行,将包含以下行(当前一个,前两个): +---+----------------------------------------------------+ | x|ORDER BY x ROWS BETWEEN 2 PRECEDING AND CURRENT ROW| +---+----------------------------------------------------+ | 10| false| | 20| true| | 30| true| | 31| true| +---+----------------------------------------------------+ 并且对于下面的第二个(当前的一个,以及前面的所有,其中x> = 31 – 2): +---+-----------------------------------------------------+ | x|ORDER BY x RANGE BETWEEN 2 PRECEDING AND CURRENT ROW| +---+-----------------------------------------------------+ | 10| false| | 20| false| | 30| true| | 31| true| +---+-----------------------------------------------------+ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |