SQL 그룹 기준
SQL GROUP BY 문
GROUP BY 문은 일부 집계 함수와 결합하여
을 사용할 수 있습니다. GROUP BY 문
GROUP BY 문은 집계 함수와 함께 사용되어 하나 이상의 열을 기반으로 결과 집합을 그룹화합니다.
SQL GROUP BY 구문
SELECT 열_이름, 집계_함수(열_이름)
FROM 테이블_이름
WHERE 열_이름 연산자 값
GROUP BY 열_이름;
FROM 테이블_이름
WHERE 열_이름 연산자 값
GROUP BY 열_이름;
데모 데이터베이스
이 튜토리얼에서는 PHP 샘플 데이터베이스를 사용합니다.
다음은 "Websites" 테이블에서 선택된 데이터입니다:
+----+---------------+-- - ------------+-------+---------+
| 이름 | URL | 1 | 미국 |
| 2 | 타오바오 |
| 3 | CN |
| 4 | 웨이보 |
| 페이스북 | 7 | 스택오버플로우 | http://stackoverflow.com/ | 0 |
+----+-------------- -- -----+------+---------+
통계 access_log 방문 횟수 site_id :
인스턴스 SELECT 사이트 ID, SUM(access_log.count) AS nums
이제 각 배달원이 배달한 주문 수를 구하려고 합니다.
| 이름 | 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 간편 적용
+------+------ --- +-------+------------+
| 지원 사이트_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 간편 적용
인스턴스 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_logLEFT JOIN 웹사이트
위 SQL을 실행한 결과는 다음과 같습니다.
ON access_log.site_id=Websites.id
GROUP BY Websites.name;위 SQL을 실행한 결과는 다음과 같습니다.