• 티스토리 홈
  • 프로필사진
    Song hyun
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
Song hyun
  • 프로필사진
    Song hyun
    • 분류 전체보기 (780)
      • 백준 (0)
      • 일본어 (0)
        • 모모타로TMC (0)
      • 영어 (2)
        • Diary (0)
        • Toast Masters (2)
      • 메모 (13)
      • 설치 메뉴얼 (30)
      • Java (178)
      • MySQL (60)
      • JSP (67)
      • Springboot (46)
      • HTML,CSS, JS (71)
        • HTML (8)
        • CSS (12)
        • JavaScript (37)
        • HTML&CSS 스터디 (13)
      • C++ (7)
      • Linux (7)
      • JPA (34)
      • Kotlin (2)
      • Flutter (42)
      • Error Note (39)
      • 디자인 패턴 (12)
      • 디지털논리회로 (4)
      • 데이터베이스 시스템 (8)
      • 알고리즘 (7)
      • 운영체제 (3)
      • 이산수학 (3)
      • 인공지능 (1)
      • 자료 구조 (14)
        • 기본 개념 (14)
        • 자료구조 스터디 (0)
      • 💡My project (76)
        • 팩맨 : Java Swing 게임 제작 프로젝트 (6)
        • 네이트톡 : Java 소켓 통신 프로젝트 (4)
        • 포켓옥션 : HikariCP&JDBC CRUD 프.. (3)
        • 이지 부산 : BDIA-Devton 2024 프로.. (20)
        • 그린 유니버시티 : JSP를 사용한 학사관리 프로.. (1)
        • 애드 포커 : 웹 소켓과 Spring을 사용한 카.. (1)
        • 셸위 : 게임 친구 매칭 사이트 (21)
        • 다모아 : 개발자 중개 플랫폼 (20)
      • 📗스터디 (13)
        • CNN : 웹개발 스터디 (10)
        • Node&React로 유튜브 사이트 만들기 (3)
      • 📙독서 및 강연 기록 (36)
        • 강연 (14)
        • 독서 (22)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
        등록된 공지가 없습니다.
      # Home
      # 공지사항
      #
      # 태그
      # 검색결과
      # 방명록
      • [MySQL] 26. GROUP BY와 HAVING 절
        2024년 06월 10일
        • Song hyun
        • 작성자
        • 2024.06.10.오전09:34
        728x90
        반응형

        [MySQL] 26. GROUP BY와 HAVING 절

        1. Group by 절

        2. Having 절

        3. 학습 예제: GROUP BY와 HAVING 절

        4. 연습 문제

         


        1. GROUP BY 절

        GROUP BY 절은 주로 SQL 특정 열의 값에 따라 행 집합을 요약된 그룹으로 나누는데 사용된다. 이 절은 주로 집계 함수와 함께 사용되어, 각 그룹에 대한 요약 정보를 제공한다.

         

        -GROUP BY 절은 데이터들을 원하는 그룹으로 나눌 수 있다.

        -나누고자 하는 그룹의 컬럼명을 SELECT 절과 GROUP BY절 뒤에 추가하면 된다.


        2. HAVING 절

         HAVING절은 GROUP BY 절과 함께 사용되며, 특정 조건을 만족하는 그룹만을 필터링하는 데 사용된다. WHERE 절이 개별 행에 대해 조건을 적용하는 반면


        3. 학습 예제: GROUP BY와 HAVING 절


        4. 연습 문제

        (1) 각 클래스에서 가장 높은 점수와 가장 낮은 점수를 찾아보아라.

         

        *참고, 만약 낮은 버전의 db를 사용한다면, 별칭의 컬럼은 적용되지 않을 수도 있다.

        *MIN()/MAX(): 최솟값과 최댓값을 찾는 구문

        -- 문제. 각 클래스에서 가장 높은 점수와 가장 낮은 점수를 찾아보세요
        select class, max(score),min(score)
        from tb_student
        group by class;

         


        *전체 코드

        create database mydb3;
        CREATE TABLE tb_student (
            id INT AUTO_INCREMENT PRIMARY KEY,
            name VARCHAR(100) NOT NULL,
            class CHAR(1) NOT NULL,
            score INT NOT NULL
        );
            
        INSERT INTO tb_student (name, class, score) VALUES
        ('Alice', 'A', 85),
        ('Bob', 'B', 75),
        ('Charlie', 'A', 65),
        ('David', 'A', 70),
        ('Eve', 'B', 95),
        ('Frank', 'C', 88),
        ('Grace', 'C', 92),
        ('Hannah', 'B', 78),
        ('Ian', 'A', 85),
        ('Jill', 'C', 90);
        
        -- 전체 조회
        select * from tb_student;
        
        -- 1단계 : 클래스 별로 그룹화 시켜보자.
        select class, avg(score) as averagescored 
        from tb_student
        group by class;
        
        -- 2단계 : 클래스 별로 그룹화된 결과 집합에서 필터 적용하기
        -- having 절의 조건은 결과집합이 먼저 생성된 후 기준으로 필터 조건을 설정해야 한다.
        select class, avg(score) as 평균
        from tb_student
        group by class
        having 평균 >= 80;
        
        -- 문제. 각 클래스에서 가장 높은 점수와 가장 낮은 점수를 찾아보세요
        select class, max(score) as 고득점,min(score)
        from tb_student
        group by class
        having max(score)>=93;
        
        -- 참고, 만약 낮은 버전의 db를 사용한다면, 별칭의 컬럼은 적용되지 않을 수도 있다.
        728x90
        반응형

        'MySQL' 카테고리의 다른 글

        [MySQL] 28. SQL 쿼리의 일반적인 처리 순서 (1)  (1) 2024.06.10
        [MySQL] 27. 연습 문제: GROUP BY/HAVING 절 활용하기  (0) 2024.06.10
        [MySQL] 1일 1쿼리 (3) : 함수 응용하기  (0) 2024.06.07
        [MySQL] 25. 예제 코드: 논리 및 조건 함수  (0) 2024.06.07
        [MySQL] 24. 예제 코드: Function, decimal 이해하기  (0) 2024.06.07
        다음글
        다음 글이 없습니다.
        이전글
        이전 글이 없습니다.
        댓글
      조회된 결과가 없습니다.
      스킨 업데이트 안내
      현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
      ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
      목차
      표시할 목차가 없습니다.
      • [MySQL] 26. GROUP BY와 HAVING 절
      • 안녕하세요
      • 감사해요
      • 잘있어요

      티스토리툴바

      단축키

      내 블로그

      내 블로그 - 관리자 홈 전환
      Q
      Q
      새 글 쓰기
      W
      W

      블로그 게시글

      글 수정 (권한 있는 경우)
      E
      E
      댓글 영역으로 이동
      C
      C

      모든 영역

      이 페이지의 URL 복사
      S
      S
      맨 위로 이동
      T
      T
      티스토리 홈 이동
      H
      H
      단축키 안내
      Shift + /
      ⇧ + /

      * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.