Education*
Devops
Architecture
F/B End
B.Chain
Basic
Others
CLOSE
Search For:
Search
BY TAGS
linux
HTTP
golang
flutter
java
fintech
개발환경
kubernetes
network
Docker
devops
database
tutorial
cli
분산시스템
www
블록체인
AWS
system admin
bigdata
보안
금융
msa
mysql
redis
Linux command
dns
javascript
CICD
VPC
FILESYSTEM
S3
NGINX
TCP/IP
ZOOKEEPER
NOSQL
IAC
CLOUD
TERRAFORM
logging
IT용어
Kafka
docker-compose
Dart
SQL GROUP BY 사용하기
Recommanded
Free
YOUTUBE Lecture:
<% selectedImage[1] %>
yundream
2023-08-14
2022-08-07
6965
## MySQL GROUP BY Statement **GROUP BY** 명령어는 동일한 값을 가진 컬럼을 그룹으로 묶어서 요약하기 위해서 사용한다. * 각 국가별 고객의 수를 알고 싶을 때 * 성별로 제품의 구매량을 알고 싶을 때 ### GROUP BY 구문 ```sql SELECT column_name(s) FROM table_name WHERE condition GROUP BY column_name(s) ``` 예제 : 사용자 성별 count ```sql select gender, count(*) from user group by gender; ``` | gender | count(\*) | | ------ | -------- | | M | 1283 | | F | 1922 | ### 데모 데이터베이스 - Customer 집계 Northwind 데이터베이스로 테스트를 준비해보자. [MySQL & SQL 스터디 준비](https://www.joinc.co.kr/w/mysql_study_ready) 문서 내용대로 학습 데이터를 준비 할 수 있다. 앞으로 모든 MySQL & SQL 학습에 이 데이터를 사용할테니 지금 준비해 두자. 여기에는 아래와 같은 정보를 담고 있는 **customers**테이블이 있다. | CustomerID | CompanyName | ContactName | Address | City | Postalcode | Country | | ---------- | ----------- | ----------- | ------- | ---- | ---------- | ------- | | ALFKI | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany | | ANATR | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico | | ANTON | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico | | AROUT | Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK | ### GROUP BY 예제 아래는 각 국가별 고객수를 조회하는 예제다. ```sql SELECT Country, count(CustomerID) FROM customers GROUP BY Country ``` | Country | count(CustomerID) | | ------- | ----------------- | | Germany | 11 | | Mexico | 5 | | UK | 7 | | Sweden | 2 | | France | 11 | 보통 이런 데이터는 Count 기준으로 정렬하기 마련이다. 고객수가 많은 기준으로 정렬해보자. ```sql SELECT Country, count(CustomerID) AS Customers FROM customers GROUP BY Country ORDER BY Customers desc; ``` | Country | Customers | | ------- | --------- | | USA | 13 | | France | 11 | | Germany | 11 | | Brazil | 9 | ### 데모 데이터베이스 - 주문(Order) 집계 Northwind에는 Orders와 Shippers 테이블에 주문 정보를 저장하고 있다. 주문 정보는 orders 테이블에 저장돼 있다. ```sql SELECT OrderID, CustomerID, EmployeeID, OrderDate, ShipVia FROM orders ``` | OrderID | CustomerID | EmployeeID | OrderDate | ShipVia | | ------- | ---------- | ---------- | --------- | ------- | | 10248 | VINET | 5 | 1994-08-04 00:00:00 | 3 | | 10249 | TOMSP | 6 | 1994-08-05 00:00:00 | 1 | | 10250 | HANAR | 4 | 1994-08-08 00:00:00 | 2 | | 10251 | VICTE | 3 | 1994-08-08 00:00:00 | 1 | 선적사 정보는 shippers 테이블에 저장돼 있다. ```sql SELECT ShipperID, CompanyName FROM shippers ``` | ShipperID | GompanyName | | --------- | ----------- | | 1 | Speedy Express | | 2 | United Package | | 3 | Federal Shipping | ### GROUP BY 예제 총무팀에서 각 배송업체별 주문수 정보를 요청했다. ```sql SELECT shippers.CompanyName, COUNT(orders.OrderID) AS NumberOfOrders FROM orders LEFT JOIN shippers ON orders.ShipVia = shippers.ShipperID GROUP BY CompanyName; ``` | CompanyName | NumberOfOrders | | ----------- | -------------- | | Federal Shipping | 255 | | Speedy Express | 249 | | United Package | 326 | ## 참고 [SQL Study With MySQL](https://www.joinc.co.kr/w/sql_study_with_mysql_index) 에서 MySQL과 관련된 다른 문서들을 읽을 수 있습니다.
Recent Posts
Vertex Gemini 기반 AI 에이전트 개발 06. LLM Native Application 개발
최신 경량 LLM Gemma 3 테스트
MLOps with Joinc - Kubeflow 설치
Vertex Gemini 기반 AI 에이전트 개발 05. 첫 번째 LLM 애플리케이션 개발
LLama-3.2-Vision 테스트
Vertex Gemini 기반 AI 에이전트 개발 04. 프롬프트 엔지니어링
Vertex Gemini 기반 AI 에이전트 개발 03. Vertex AI Gemini 둘러보기
Vertex Gemini 기반 AI 에이전트 개발 02. 생성 AI에 대해서
Vertex Gemini 기반 AI 에이전트 개발 01. 소개
Vertex Gemini 기반 AI 에이전트 개발-소개
Archive Posts
Tags
database
mysql
sql
SQL tutorial with MySQL
Copyrights © -
Joinc
, All Rights Reserved.
Inherited From -
Yundream
Rebranded By -
Joonphil
Recent Posts
Archive Posts
Tags