SQL 시작하기 튜토리얼 매...login
SQL 시작하기 튜토리얼 매뉴얼
작가:php.cn  업데이트 시간:2022-04-12 14:15:40

SQL 그룹 기준


SQL GROUP BY


GROUP BY 문은 일부 집계 함수와 결합하여


을 사용할 수 있습니다. GROUP BY 문

GROUP BY 문은 집계 함수와 함께 사용되어 하나 이상의 열을 기반으로 결과 집합을 그룹화합니다.

SQL GROUP BY 구문

SELECT 열_이름, 집계_함수(열_이름)
FROM 테이블_이름
WHERE 열_이름 연산자 값
GROUP BY 열_이름;


데모 데이터베이스

이 튜토리얼에서는 PHP 샘플 데이터베이스를 사용합니다.

다음은 "Websites" 테이블에서 선택된 데이터입니다:

+----+---------------+-- - ------------+-------+---------+
| 이름 | URL                                                          | 1 | 미국 |
| 2 | 타오바오 |
| 3 | CN |
| 4 | 웨이보 |
| 페이스북 | 7 | 스택오버플로우 | http://stackoverflow.com/ | 0 |
+----+-------------- -- -----+------+---------+

다음은 "access_log" 웹사이트 접속 기록 테이블의 데이터입니다:

mysql> SELECT * FROM access_log;
+------+------ --- +-------+------------+
| 지원 사이트_ID 개수 |
+------+--- --- ---+-------+------------+
| 1 | 2016-05-10 |
| 3 | 2016-05-13 |
| 2016-05-14 | 5 | 2016년 5월 14일 |
| 2016년 5월 15일 | 220 | -05 -16 |
| 9 | 3 | 2016-05-17 |
+------+------+- -- ---------+
9행 세트(0.00초)



GROUP BY 간편 적용
통계 access_log 방문 횟수 site_id :

인스턴스

SELECT 사이트 ID, SUM(access_log.count) AS nums
FROM access_log GROUP BY site_id;

위 SQL을 실행하여 출력한 결과는 다음과 같습니다.

SQL GROUP BY Multi-Table Join

이제 각 배달원이 배달한 주문 수를 구하려고 합니다.

다음 SQL 문은 모든 웹사이트에서 방문한 레코드 수를 계산합니다.

Instance

SELECT Websites.name,COUNT(access_log.aid) AS nums FROM access_log
LEFT JOIN 웹사이트

ON access_log.site_id=Websites.id

GROUP BY Websites.name;

위 SQL을 실행한 결과는 다음과 같습니다.