【发布时间】:2021-12-07 11:52:09
【问题描述】:
我需要用 n 步获取两行之间的平均最大值。如果步长为 6(n = 6),我需要找出 1 到 6(不包括)行之间的平均最大值,然后是 6 和 12(不包括)之间的平均值,以此类推。步数和行数都可以不同。
|id|eventDate | x | y |
-------------------------
|1 |10.10.2021| 0.33|0.4|
-------------------------
|2 |10.11.2021| 0.34|0.5|
-------------------------
|3 |10.12.2021| 0.35|0.6|
-------------------------
|4 |10.13.2021| 0.36|0.7|
-------------------------
|5 |10.14.2021| 0.37|0.8|
-------------------------
Step = 3 (n = 3) 结果应该是
|id|eventDate | x | y |
--------------------------------------------------------------
|3 |10.12.2021| avr between id 1 and 3|avr between id 1 and 3|
--------------------------------------------------------------
|5 |10.14.2021| avr between id 3 and 5|avr between id 3 and 5|
--------------------------------------------------------------
【问题讨论】:
-
您要求的“结果”不包括平均数。不包括在内,您的意思是 n=6 平均为 2 -> 5,而不是 1 和 6?你的问题不是很清楚。
-
如果 n = 6 将计算第 1,2,3,4,5,6 行范围内的平均值
-
所以它们是包容性的,就像 BETWEEN 命令 stackoverflow.com/questions/749615/… "BETWEEN 运算符是包容性的。" “如果 test_expression 的值大于或等于 begin_expression 的值且小于或等于 end_expression 的值,则 BETWEEN 返回 TRUE。” "
标签: sql clickhouse