Как я могу сделать раунд на свертке, как я раунд или суммировать функцию?Как объединить свертку SQL-запроса?
ROUND(SUM(T.TICKET_PRICE),2)
, например:
SELECT EmpId, Yr, SUM(Sales) AS Sales
FROM Sales
GROUP BY EmpId, Yr WITH ROLLUP
Как я могу сделать раунд на свертке, как я раунд или суммировать функцию?Как объединить свертку SQL-запроса?
ROUND(SUM(T.TICKET_PRICE),2)
, например:
SELECT EmpId, Yr, SUM(Sales) AS Sales
FROM Sales
GROUP BY EmpId, Yr WITH ROLLUP
Самое лучшее, что я могу думать -
SELECT EmpId, Yr,
CASE WHEN EmpId IS NULL AND Yr IS NULL
THEN ROUND(SUM(Sales))
ELSE SUM(Sales)
END AS Sales
FROM Sales
GROUP BY EmpId, Yr WITH ROLLUP
К сожалению, это работает только надежно, если EmpId
и Yr
являются NOT NULL
.
Положите накопительный пакет в подзапрос:
SELECT R.EmpID, R.Yr, ROUND(R.Sales,2) AS Sales
FROM (
SELECT EmpId, Yr, SUM(Sales) AS Sales
FROM Sales
GROUP BY EmpId, Yr WITH ROLLUP) R
Вы были так близки, просто обернуть сумму с круглой функции.
SELECT EmpId, Yr, round(SUM(Sales),2) AS Sales
FROM Sales
GROUP BY EmpId, Yr
Вы пытаетесь объединиться только по объему свертывания или по всем значениям? – pyrospade