합계 구하기
MSSQL에서 데이터의 합계를 구하는 방법에 대해 포스팅하겠습니다
전체데이터의 합계 또는 특정칼럼을 기준하여 그룹별로 합계를 알고 싶을 수 있습니다
이럴 때 SUM함수를 이용하여 합계를 구할 수 있습니다.
SUM함수 기본문법
SELECT SUM(COLUMN1)
FROM TABLE
/*
TABLE내 모든 COLUMN1 데이터의 합계를 출력합니다
*/
SELECT COLUMN1
, SUM(COLUMN2)
FROM TABLE
/*
TABLE내 COLUMN1의 값 별로 COLUMN2의 합을 출력합니디
*/
SUM은 그룹함수 이기 때문에 GROUP BY 되지 않은 칼럼과는 함께 조회될 수 없습니다
💡그룹함수: 그룹별로 데이터를 조회하는 데 사용되는 함수 AVG(평균값), MIN(최소값) 등이 있습니다
GROUP BY로 GROUP을 지정해 주되 지정하지 않은 경우 전체데이터를 그룹으로 조회합니다
💡 SUM함수는 NULL데이터를 무시하고 계산합니다. NULL데이터를 무시하고 싶지 않다면 ISNULL이나
COALESCE 함수를 사용하여 데이터를 치환하여야 합니다.
예시
주식의 가치에 관한 예시로 쉽게 이해해 보겠습니다
보유한 주식들의 가격 총합계, 사람별 보유주식 가격합계 등을 구해보겠습니다
예시용 테이블
NAME | STORK_NAME | STORK_PRICE |
홍길동 | 삼성전자 | 80,000 |
홍길동 | 현대 자동차 | 200,000 |
강감찬 | 삼성 바이오 로직스 | 700,000 |
강감찬 | NAVER | 400,000 |
장보고 | 삼성전자 | 80,000 |
장보고 | 현대 자동차 | 200,000 |
장보고 | 삼성 바이오 로직스 | 700,000 |
테이블이름: STORK_INFO
< 칼럼설명 >
NAME: 주식소유자 이름
STORK_NAME: 주식명
STORK_PRICE: 주식 가격
보유한 주식의 가격 총합계 구하기
SELECT SUM(STORK_PRICE) AS SUM_STORK_PRICE
FROM STORK_INFO
/*
STORK테이블내 모든STORK_PRICE칼럼 데이터들의 합을 출력
*/
🎉결과🎉
SUM_STORK_PRICE |
2,360,000 |
모든 STORK_PRICE 칼럼 데이터의 합
2360000 = (80000 + 200000 + 700000 + 400000 + 80000 + 200000 + 700000)
사람별로 보유한 주식의 가격 합계 구하기
SELECT NAME
, SUM(STORK_PRICE) AS SUM_STORK_PRICE
FROM STORK_INFO
GROUP BY NAME
/*
STORK테이블내 NAME데이터 그룹별로
STORK_PRICE칼럼 데이터들의 합을 출력
*/
🎉결과🎉
NAME | SUM_STORK_PRICE |
홍길동 | 280,000 |
강감찬 | 1,100,000 |
장보고 | 980,000 |
홍길동: 280000 = (80000 + 200000)
강감찬: 1100000 = (400000 + 700000)
장보고: 980000 = (80000 + 200000 + 700000)