SQL 의 GROUP BY 문은 일부 함수의 도움을 받아 동일한 데이터를 그룹으로 정렬하는 데 사용됩니다. 즉,특정 열이 다른 행에 동일한 값을 갖는 경우 이러한 행을 그룹에 정렬합니다.
중요 사항:
- group BY 절은 SELECT 문과 함께 사용됩니다.
- 쿼리에서 GROUP BY 절은 WHERE 절 뒤에 배치됩니다.
- 쿼리에서 group BY 절은 order BY 절 이전에 사용되는 경우 배치됩니다.,
Syntax:
샘플 테이블:
직원
학생
예제:
- 그룹에 의해 하나의 열:그룹에 의해 하나의 열 수단,모든 행 같은 값을 가진의 특정 란에 그룹입니다., 을 고려한 쿼리를 다음과 같습니다:
SELECT NAME, SUM(SALARY) FROM Employee GROUP BY NAME;
위의 질을 생산 아래 출력:
에서 볼 수 있듯이력 행을 중복 이름 아래에 그룹화되고 동일한 이름이 그들의 해당하는 급여액의 합계의 급여의 중복의 행이 있습니다. Sql 의 SUM()함수는 여기서 합계를 계산하는 데 사용됩니다.
- 여러 열에 의한 그룹:여러 열에 의한 그룹은 예를 들어 column1,column2 에 의한 그룹입니다., 즉,열 column1 과 column2 의 값이 동일한 모든 행을 하나의 그룹에 배치합니다. 을 고려한 아래의 쿼리
SELECT SUBJECT, YEAR, Count(*)FROM StudentGROUP BY SUBJECT, YEAR;
출력:
에서 볼 수 있듯이력 학생들은 모두 같은 주제고 올해는 배치에서 같은 그룹에 있습니다. 그리고 유일한 주제가 동일하지만 연도가 아닌 사람들은 다른 그룹에 속합니다. 그래서 여기서 우리는 두 개의 열 또는 둘 이상의 열에 따라 테이블을 그룹화했습니다.,
HAVING 절
우리가 알고 있는 WHERE 절을 사용 조건에 열을 하지만 만일 우리가 원하는 조건에 그룹?
이것은 데 절이 사용되는 곳입니다. 우리는 최종 결과 집합의 일부가 될 그룹을 결정하는 조건을 배치하는 데 절을 사용할 수 있습니다. 또한 SUM(),COUNT()등과 같은 집계 함수를 사용할 수 없습니다. WHERE 절과 함께. 그래서 우리는 조건에서 이러한 함수 중 하나를 사용하려는 경우 HAVING 절을 사용해야합니다.,
Syntax:
예:
SELECT NAME, SUM(SALARY) FROM Employee GROUP BY NAMEHAVING SUM(SALARY)>3000;
출력:
에서 볼 수 있듯이력 하나만 그룹의 세 그룹에 나타난 결과로 설정 그것은 단지 그룹에 합의 급여 보다 큰 3000. 그래서 우리는 조건이 열이 아닌 그룹에 배치해야하므로이 조건을 배치하기 위해 여기에 HAVING 절을 사용했습니다.
이 기사는 가혹한 Agarwal 에 의해 기고되었습니다. GeeksforGeeks 를 좋아하고 기여하고 싶다면 contribute 를 사용하여 기사를 작성할 수도 있습니다.geeksforgeeks.,조직 또는 우편으로 귀하의 기사 [email protected] 메인 페이지에 나타나는 기사를보고 다른 괴짜를 도와주세요.피>
답글 남기기