반응형
각 그룹의 합계를 총합으로 나누다
그룹 A와 그룹 B의 합계를 따로 구해서 각각 합계로 나누고 싶습니다.
이것을 사용하려고 했습니다.
select name, sum(qt)
from ntbl
group by name
order_id | 이름. | qt |
---|---|---|
1 | A | 12 |
2 | A | 20 |
3 | B | 33 |
4 | B | 45 |
결과는 다음과 같습니다.
이름. | qt | dv |
---|---|---|
A | 32 | 0.29 |
B | 78 | 0.70 |
집계 기능과 창 기능을 함께 결합할 수 있습니다.
select name
, sum(qt) as sum_qt
, sum(qt) / sum(sum(qt)) over () * 100 as pct_qt
from t
group by name
모든 수량을 요약하는 다른 하위 쿼리를 교차 결합할 수 있습니다.
CREATE TABLE ntbl ( `order_id` INTEGER, `name` VARCHAR(1), `qt` INTEGER ); INSERT INTO ntbl (`order_id`, `name`, `qt`) VALUES ('1', 'A', '12'), ('2', 'A', '20'), ('3', 'B', '33'), ('4', 'B', '45');
SELECT name, sum_name, ROUND(sum_name/sum_qt,2) as dv FROM (select name,SUM(qt) sum_name from ntbl group by name) q1 CROSS JOIN (SELECT SUM(`qt`) sum_qt FROM ntbl) q2
name | sum_name | dv:--- | -------: | ---:A | 32 | 0.29B | 78 | 0.71
db <>여기에 추가
언급URL : https://stackoverflow.com/questions/71488274/divide-the-sum-of-each-group-by-the-grand-total
반응형
'source' 카테고리의 다른 글
각 루프의 반복이 시작되기 전에 늘체크를 회피하는 방법이 있나요? (0) | 2022.09.04 |
---|---|
데이터베이스를 작성하기 위해 dotnet EF 마이그레이션을 사용할 때 문자 집합을 설정하는 방법은 무엇입니까? (0) | 2022.09.04 |
MySQL에서 --secure-file-priv를 해결하려면 어떻게 해야 합니까? (0) | 2022.09.04 |
주석 누락으로 인해 실행 시 ClassNotFoundException이 발생하지 않는 이유는 무엇입니까? (0) | 2022.09.04 |
Java에서 Class Atribute를 루프오버하려면 어떻게 해야 합니까? (0) | 2022.09.04 |