我找不到一个很好的例子来说明如何对窗口函数进行内联。在下面的例子中,我已经尝试将Round函数放在任何地方(除了正确的地方)。价格是双倍的。如何在avg等运算符的窗口结果上内联Round函数?
在本例中,nine_day_avg应舍入为两位数。
SELECT quote_date,price,
avg(price)
OVER(ORDER BY quote_date ROWS BETWEEN 8 PRECEDING AND CURRENT ROW) AS nine_day_avg
FROM quote_datas
where symbol = 'A'
order by quote_date desc
2条答案
按热度按时间2ekbmq321#
您可以使用
ROUND (source [ , n ] )
作为**注意:**n是可选的,如果省略,默认值为0。
您必须将要舍入的值转换为数字,才能使用上面提到的
round
版本。pcww981p2#
您只需要将round函数应用于整个avg()窗口列名,包括over子句。所以它可以如下-