GROUP BY란 Column별로 항목을 묶어 레코드를 반환받을 때 사용한다. W3Schools에서 제공하는 Demo Database를 통해 예시를 알아보자.
● Customers
- 고객명단 테이블
- CustomerID == PK
● Orders
- 주문내역 테이블
- OrderID == PK, CustomerID == PK
● Shippers
- 화주(송하인) 테이블
ex) 각 도시별 거주하고 있는 고객의 수를 파악하고자 한다.
SELECT City,
COUNT(CustomerName)
FROM Customers
GROUP BY City
- GROUP BY에 City를 명시함으로서 각 City를 하나의 그룹으로 묶어 해당하는 CustomerName의 개수를 집계한다.
ex) 각 ShipperName마다 몇번의 주문내역을 받아 처리했는지를 알아본다.
SELECT Shippers.ShipperName,
COUNT(Orders.OrderID) AS orderCount
FROM Shippers
LEFT JOIN Orders
ON Shippers.ShipperID = Orders.ShipperID
GROUP BY ShipperName
-> ShipperName별로 집계된 데이터를 반환받는다.
ex) 모든 고객의 주문 횟수를 집계한다.
SELECT CustomerName,
COUNT(OrderID)
FROM Customers
LEFT JOIN Orders
ON Customers.CustomerID = Orders.CustomerID
GROUP BY CustomerName
-> CustomerName별로 집계된 데이터를 반환받는다.
'DB & SQL' 카테고리의 다른 글
My SQL 변수선언(ROWNUM) (0) | 2023.01.11 |
---|---|
MySQL HAVING (0) | 2023.01.11 |
MySQL UNION (0) | 2023.01.05 |
MySQL JOIN문 (0) | 2023.01.04 |
MySQL BETWEEN 연산자 (0) | 2023.01.04 |