Чтобы сгруппировать по отделам, возьмите сумму (продажи) и создайте отдельный столбец с суммой (продажи) для всей таблицы в улье? - PullRequest
0 голосов
/ 05 августа 2020

У меня есть такая таблица

Department     Sales
A               2000
A               2000
A               3000
B               1000
B               4000
B               2000
C               2500
C               2000
C               2000

Нет Я хочу Мои результаты, например

Department          Sales   Total_Sales
A                    7000     20500
B                    7000     20500
C                    6500     20500

Как добиться этого с помощью куста, оконных функций?

Ответы [ 2 ]

0 голосов
/ 05 августа 2020
select *,sum(sales) over() as Total_Sales 
from(select department,sum(sales) as sales from orders group by department)t1;
0 голосов
/ 05 августа 2020

Это может быть что-то вроде

SELECT DISTINCT
       Department,
       SUM(Sales) OVER (PARTITION BY Department) Sales,
       SUM(Sales) OVER () Total_Sales
FROM source_table

Но

SELECT Department,
       SUM(Sales) Sales,
FROM source_table
GROUP BY Department WITH ROLLUP 

может быть более полезным (общие продажи будут рассчитаны в дополнительной строке с Department IS NULL).

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