안녕하세요. 따시입니다.
SQL SUM, COUNT, MIN, MAX 집계함수가 있습니다.
예시로 테이블은 3개로 되어 있습니다.
MSSQL 샘플 데이타는 한동안 계속 아래로 이용할꺼 같습니다.
ITEM_MASTER TABLE (상품 마스터정보)
ITEM_CODE (상품코드) | ITEM_NAME (상품명) | ITEM_PRICE (상품가격) |
M001 | 콜라 | 1,000 |
M002 | 사이다 | 1,000 |
P001 | 피자 | 10,000 |
P002 | 피자세트(콜라포함) | 10,500 |
C001 | 후라이드치킨 | 8,000 |
C002 | 양념치킨 | 9,000 |
MEMBER_INFO TABLE (회원정보)
USER_ID (회원아이디) | USER_NAME (회원이름) |
ID0001 | 철수 |
ID0002 | 영희 |
ID0003 | 광수 |
ID0004 | 명수 |
ID0005 | 길동 |
ID0006 | 수영 |
MEMBER_ORDER TABLE (회원주문 정보)
USER_ID (회원아이디) | ITEM_CODE (상품코드) | ORDER_DATE (주문일자) | AMOUNT (주문수량) |
ID0001 | M002 | 2020-07-01 | 5 |
ID0001 | M001 | 2020-07-01 | 3 |
ID0002 | P001 | 2020-07-01 | 1 |
ID0002 | M001 | 2020-07-02 | 1 |
ID0004 | C002 | 2020-07-02 | 1 |
ID0006 | C001 | 2020-07-02 | 1 |
ID0001 | C001 | 2020-07-03 | 1 |
ID0003 | P002 | 2020-07-03 | 1 |
ID0006 | P001 | 2020-07-03 | 2 |
ID0002 | C002 | 2020-07-03 | 2 |
먼저 회원별 구매 건수를 조회해 보겠다
SELECT
A.USER_ID, -- 회원아이디
B.USER_NAME, -- 회원명
A.AMOUNT -- 주문수량
FROM MEMBER_ORDER A, MEMBER_INFO B
WHERE 1=1
AND A.USER_ID = B.USER_ID
그렇다면 위와 같이 조회 화면을 볼 수 있습니다.
SUM() 함수 사용 - 합계
회원별 기준으로 SUM 함수를 이용하여 주문수량 합산을 하겠습니다.
SELECT
A.USER_ID, -- 회원아이디
B.USER_NAME, -- 회원명
SUM(A.AMOUNT) AS AMOUNT -- 주문수량 합산
FROM MEMBER_ORDER A, MEMBER_INFO B
WHERE 1=1
AND A.USER_ID = B.USER_ID
GROUP BY A.USER_ID, B.USER_NAME
COUNT() 함수 사용 - 건수
회원별 기준으로 COUNT 함수를 이용하여 회원별 Row 건수를 조회 하겠습니다.
SELECT
A.USER_ID, -- 회원아이디
B.USER_NAME, -- 회원명
COUNT(*) AS COUNT -- COUNT
FROM MEMBER_ORDER A, MEMBER_INFO B
WHERE 1=1
AND A.USER_ID = B.USER_ID
GROUP BY A.USER_ID, B.USER_NAME
MIN() 함수 사용 - 최소값
회원별 기준으로 MIN 함수를 사용하여 최소주문수량을 조회하겠습니다.
SELECT
A.USER_ID, -- 회원아이디
B.USER_NAME, -- 회원명
MIN(A.AMOUNT) AS MIN_AMOUNT -- 최소주문수량
FROM MEMBER_ORDER A, MEMBER_INFO B
WHERE 1=1
AND A.USER_ID = B.USER_ID
GROUP BY A.USER_ID, B.USER_NAME
MAX() 함수 사용 - 최대값
회원별 기준으로 MAX 함수를 사용하여 최대주문수량을 조회하겠습니다.
SELECT
A.USER_ID, -- 회원아이디
B.USER_NAME, -- 회원명
MAX(A.AMOUNT) AS MAX_AMOUNT -- 최대주문수량
FROM MEMBER_ORDER A, MEMBER_INFO B
WHERE 1=1
AND A.USER_ID = B.USER_ID
GROUP BY A.USER_ID, B.USER_NAME
'개발경험 및 메모 > Mssql' 카테고리의 다른 글
MSSQL 로그인 세션 정보 확인 (0) | 2022.06.27 |
---|---|
MSSQL 락 걸린 쿼리 찾기 (0) | 2022.06.07 |
MSSQL INSERT, UPDATE.. 트랜젝션 로그 조회 (0) | 2020.09.24 |
MSSQL ROLLUP (0) | 2020.07.17 |
MSSQL 함수정리 (0) | 2020.06.25 |
최근댓글