일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- html
- 정보처리기사
- String클래스
- Git
- sql문
- select문
- 프로그래머스 sql 고득점 kit
- 프론트엔드
- BufferedReader
- order by
- SQL
- 메서드
- Java
- 웹개발
- JavaScript
- StringBuilder
- 알고리즘
- MySQL
- 데이터 조회
- 백준
- 자바
- scanner
- 입출력
- 스프링
- 예외처리
- 리눅스
- 클래스
- 형변환
- where
- 백엔드
- 프로그래밍
- Linux
- select
- 자바스크립트
- 프로그래머스 SQL
- mybatis
- 정보처리기사필기요약
- github
- 개발자
- DML
- Today
- Total
ToBe끝판왕
[ 프로그래머스 / SQL ] GROUP BY - 고양이와 개는 몇마리 있을까 본문
고양이와 개는 몇마리 있을까
Programmers의 SQL 고득점 Kit
GROUP BY 문제
▶ 해당 문제 링크
https://programmers.co.kr/learn/courses/30/lessons/59040
정답 및 풀이
▶ GROUP BY 절
• 데이터들을 원하는 그룹으로 나눌 수 있다.
• 나누고자 하는 그룹의 컬럼명을 SELECT절과 GROPU BY절 뒤에 추가하면 된다.
• FROM절과 WHERE절 뒤에 온다.
• 집계함수와 함께 사용되는 상수는 GROUP BY절에 추가하지 않아도 된다.
• GROUP BY 절
SELECT 컬럼명, 그룹함수
FROM 테이블명
GROUP BY 그룹대상;
▶ HAVING 절
• GROUP BY절을 통해 그룹을 짓고, 각 그룹에 조건을 부여할 때 사용한다.
• GROUP BY 절 다음에 위치한다.
• HAVING 절
SELECT 컬렴명, 그룹함수
FROM 테이블명
GROUP BY 그룹대상
HAVING 그룹함수 포함 조건;
※ WHERE 절과 HAVING 절 차이
• WHERE 절은 모든 개별 행에 조건을 줄 수 있다 하지만 HAVING절은 GROUP BY된 이후 특정한 그룹의
행에만 조건을 줄 수 있다.
• 집계함수는 HAVING절과 함께 사용할 수 있지만 WHERE절은 HAVE절에 포함된 하위 쿼리에 있지 않으면
집계함수랑 함께 사용할 수 없다.
• HAVING절은 GROUP BY 절 뒤에 사용하고 WHERE절은 앞에 사용한다
※ 집계함수
▶ 정답
• ANIMAL_TYPE을 조회하면서 몇마리인지 데이터의 개수를 요구하므로 COUNT함수를 같이 사용한다.
• 결과가 고양이( CAT ) , 개( DOG )로 묶어서 나오므로 GROUP BY 절을 사용한다.
• 고양이( CAT ) 을 개( DOG )보다 먼저 나오게 정렬을 해야하므로 ORDER BY절을 함께 사용한다.
( 문자 데이터 타입의 경우 ORDER BY를 사용하면 알파벳 순서대로 나오게 된다. )
SELECT ANIMAL_TYPE, COUNT( ANIMAL_TYPE )
FROM ANIMAL_INS
GROUP BY ANIMAL_TYPE
ORDER BY ANMIAL_TYPE;
'■ 프로그래밍 SKILLS > SQL' 카테고리의 다른 글
[ 프로그래머스 / SQL ] GROUP BY - 입양 시각 구하기(1) (0) | 2022.06.11 |
---|---|
[ 프로그래머스 / SQL ] GROUP BY - 동명 동물 수 찾기 (0) | 2022.06.11 |
[ 프로그래머스 / SQL ] SUM, MAX, MIN - 중복 제거하기 (0) | 2022.06.10 |
[ 프로그래머스 / SQL ] SUM, MAX, MIN - 동물 수 구하기 (0) | 2022.06.10 |
[ 프로그래머스 / SQL ] SUM, MAX, MIN - 최솟값 구하기 (0) | 2022.06.10 |