Не работает округление в выражении avg () over () - SQL Server - PullRequest
0 голосов
/ 11 февраля 2020

Кто-нибудь знает, как переписать этот 7-дневный скользящий средний запрос на SQL Сервере, чтобы я получал значение, округленное до 2 десятичных знаков после запятой?

Текущий запрос:

SELECT round(avg(amount) OVER (
            ORDER BY DATE ASC rows BETWEEN 6 preceding
                    AND CURRENT row
            ), 2) average_amount

Токовый выход:

120.00
121.00
120.00

Желаемый выход:

120.11
121.18
120.20

Что мне здесь не хватает?

1 Ответ

2 голосов
/ 11 февраля 2020

Запустите его так:

Select round(avg(amount*1.0) over (order by date asc ROWS BETWEEN 6 PRECEDING AND current row),2) average_amount

Иногда просто нужно * 1.0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...