본문 바로가기
DB & SQL

MySQL GROUP BY

by pms93 2023. 1. 11.

GROUP BY란 Column별로 항목을 묶어 레코드를 반환받을 때 사용한다. W3Schools에서 제공하는 Demo Database를 통해 예시를 알아보자.

 

● Customers

 - 고객명단 테이블

 - CustomerID == PK

( W3Schools Demo Database 인용 )

 

● Orders

 - 주문내역 테이블

 - OrderID == PK, CustomerID == PK

( W3Schools Demo Database 인용 )

 

● Shippers

- 화주(송하인) 테이블

( W3Schools Demo Database 인용 )

 

ex) 각 도시별 거주하고 있는 고객의 수를 파악하고자 한다.

SELECT City,
               COUNT(CustomerName)
FROM Customers
GROUP BY City
- GROUP BY에 City를 명시함으로서 각 City를 하나의 그룹으로 묶어 해당하는 CustomerName의 개수를 집계한다.

( W3Schools Demo Database 인용 )

 

ex) 각 ShipperName마다 몇번의 주문내역을 받아 처리했는지를 알아본다.

SELECT Shippers.ShipperName,
               COUNT(Orders.OrderID) AS orderCount
FROM Shippers
LEFT JOIN Orders
             ON Shippers.ShipperID = Orders.ShipperID
GROUP BY ShipperName   
-> ShipperName별로 집계된 데이터를 반환받는다.  

( W3Schools Demo Database 인용 )

 

ex) 모든 고객의 주문 횟수를 집계한다.

SELECT CustomerName,
               COUNT(OrderID)
FROM Customers
LEFT JOIN Orders
             ON Customers.CustomerID = Orders.CustomerID
GROUP BY CustomerName
-> CustomerName별로 집계된 데이터를 반환받는다. 

( W3Schools Demo Database 인용 )

'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