일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- DATE_FORMAT
- 코세라머신러닝
- sql
- 인프런sql강의
- sql오답노트
- 머신러닝
- SQL공부
- Andrew NG
- orderby
- 경제공부
- 프로그래머스SQL
- groupby
- sorted
- 머신러닝강의
- map
- coursera
- PYTHON
- programmers
- 코세라머신러닝강의
- 코세라
- 프로그래머스
- mysql
- POP
- Machine Learning
- 안드류응
- 알고리즘
- Algorithm
- 파이썬
- 코세라강의
- WHERE
Archives
- Today
- Total
미래를 예측하는 데이터분석가
[MYSQL] 동명 동물 수 찾기 본문
문제
동물 보호소에 들어온 동물 이름 중 두 번 이상 쓰인 이름과 해당 이름이 쓰인 횟수를 조회하는 SQL문을 작성해주세요. 이때 결과는 이름이 없는 동물은 집계에서 제외하며, 결과는 이름 순으로 조회해주세요.
NAME | TYPE | NULLABLE |
ANIMAL_ID | VARCHAR(N) | FALSE |
ANIMAL_TYPE | VARCHAR(N) | FALSE |
DATETIME | DATETIME | FALSE |
INTAKE_CONDITION | VARCHAR(N) | FALSE |
NAME | VARCHAR(N) | TRUE |
SEX_UPON_INTAKE | VARCHAR(N) | FALSE |
예를 들어 ANIMAL_INS 테이블이 다음과 같다면
ANIMAL_ID | ANIMAL_TYPE | DATETIME | NTAKE_CONDITION | NAME | SEX_UPON_INTAKE |
A396810 | Dog | 2016-08-22 16:13:00 | Injured | Raven | Spayed |
A377750 | Dog | 2017-10-25 17:17:00 | Normal | Lucy | Spayed |
A355688 | Dog | 2014-01-26 13:48:00 | Normal | Shadow | Neutered |
NAME | COUNT |
Lucy | 3 |
Raven | 2 |
- Raven 이름은 2번 쓰였습니다.
- Lucy 이름은 3번 쓰였습니다
- Shadow 이름은 1번 쓰였습니다.
SELECT NAME, COUNT(NAME) AS count
FROM ANIMAL_INS
GROUP BY NAME
HAVING COUNT(NAME) > 1
ORDER BY NAME ;
여기서 중요한 포인트는 HAVING이다.
- HAVING : 그룹화된 변수에 특정 조건을 줄 경우 사용
GROUPY해서 나온 값들에 조건을 넣어줄 경우기 때문에 WHERE과 비슷하다고 할 수 있다.
- 또 하나의 중요 포인트는 ORDER BY는 제일 마지막 문에 쓰인다는 것이다.
'시스템 & 데이터베이스 > SQL' 카테고리의 다른 글
[MYSQL] 중성화 여부 파악하기 (0) | 2021.02.22 |
---|---|
[MYSQL] 루시와 엘라 찾기 (0) | 2021.02.20 |
[MYSQL] 입양 시각 구하기(1) (0) | 2021.02.18 |
[MYSQL] NULL 처리하기 (0) | 2021.02.17 |
[MYSQL] 고양이와 개는 몇 마리 있을까 (0) | 2021.02.12 |