Округление суммы до двух знаков после запятой в SQL
Условие задачи:
Используя таблицу purchase_order_header, вычислите, сколько денег потратили клиенты на заказы в каждом месяце 2012 года. В итоговую таблицу войдут два поля: название месяца (в нижнем регистре) и суммарные траты за месяц, округлённые до двух знаков после запятой. Отсортируйте результаты по убыванию числа трат. Решение:
SELECT
LOWER(TO_CHAR(order_date, 'Month')) AS month,
ROUND(SUM(subtotal), 2) AS total
FROM adventure.purchase_order_header
WHERE EXTRACT(YEAR FROM order_date) = 2012
GROUP BY month
ORDER BY total DESC;
вроде бы решение верное, но я получаю не округленное значение в поле total:
month total
january 700407
march 646976
june 511208
... ...
причем, с другими агрегатными функциями, например, с MIN, MAX и т.д. округление проходит нормально. В чем может быть проблема?