일상적인 개발 작업에서 우리는 데이터 테이블의 그룹 필드를 기반으로 통계 데이터를 얻기 위해 MYSQL의 GROUP BY 그룹화를 자주 사용합니다.
예를 들어, 다음과 같은 구조를 가진 학생 과목 선택 테이블이 있습니다:
Table: Subject_Selection Subject Semester Attendee --------------------------------- ITB001 1 John ITB001 1 Bob ITB001 1 Mickey ITB001 2 Jenny ITB001 2 James MKB114 1 John MKB114 1 Erica
우리는 얼마나 많은 학생 과목을 세고 싶습니다. 등록하려면 다음 SQL
SELECT Subject, Count(*) FROM Subject_Selection GROUP BY Subject
을 적용하여 다음 결과를 얻습니다.
Subject Count ------------------------------ ITB001 5 MKB114 2
테이블에는 5명의 학생이 ITB001을 선택하고 2명의 학생이 선택한 것으로 기록되어 있으므로 MKB114.
이 결과의 이유는 다음과 같습니다.
GROUP BY X는 동일한 X 필드 값을 가진 모든 레코드를 그룹에 넣는 것을 의미합니다.
GROUP BY X, Y는 어떻습니까?
GROUP BY X, Y는 X 필드 값과 Y 필드 값이 동일한 모든 레코드를 그룹에 넣는 것을 의미합니다.
그런 다음 각 학기에 각 과목을 선택하는 사람의 수를 계산하고 다음 SQL을 적용합니다.
SELECT Subject, Semester, Count(*) FROM Subject_Selection GROUP BY Subject, Semester
위 SQL의 의미는 Subject_Selection에 대한 것입니다. table 데이터를 그룹화하고 동일한 Subject 및 Semester 필드 값을 갖는 레코드를 동일한 그룹에 넣은 후 각 그룹의 데이터에 집계 함수(COUNT, SUM, AVG 등)를 적용합니다.
얻은 결과는 다음과 같습니다.
Subject Semester Count ------------------------------ ITB001 1 3 ITB001 2 2 MKB114 1 2
표의 기록을 보면 첫 학기에 3명, 2명이 ITB001을 선택한 것을 알 수 있습니다. 2학기에는 ITB001을,
을 선택했고, 1학기에는 2명의 학생이 MKB114를 선택했고, 2학기에는 MKB114를 선택한 학생이 아무도 없었습니다.
요약:
GROUP BY를 사용하여 MYSQL에서 테이블의 데이터를 그룹화하는 경우,
GROUP BY 레코드를 그룹에 넣는 경우,
GROUP BY X , Y는 X 필드 값과 Y 필드 값이 동일한 모든 레코드를 그룹
위 내용은 mysql 그룹 다중 열의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!