[프로그래머스] SELECT, 집계함수

🌹Haeri Lee·2022년 3월 4일
0

[MySql] 문제풀이

목록 보기
2/15
post-thumbnail
post-custom-banner

[1] SELECT

SELECT Name, DATETIME
FROM ANIMAL_INS
ORDER BY ANIMAL_ID DESC

SELECT ANIMAL_ID, NAME 
FROM ANIMAL_INS
WHERE INTAKE_CONDITION != 'AGED'
ORDER BY ANIMAL_ID

SELECT NAME
FROM ANIMAL_INS
ORDER BY DATETIME ASC
LIMIT 1 ;

[2] Sum,Min,Max

> Q. 가장 나중에 들어온 동물은?

SELECT DATETIME AS "시간"
FROM ANIMAL_INS
ORDER BY DATETIME DESC
LIMIT 1

> Q. 가장 먼저 들어온 동물은?

SELECT MIN(DATETIME)
FROM ANIMAL_INS

SELECT DATETIME AS "시간"
FROM ANIMAL_INS 
ORDER BY DATETIME ASC
LIMIT 1

> 중복제거

SELECT COUNT (DISTINCT NAME)
FROM ANIMAL_INS

[3] Group By

> Q. 고양이와 개가 각각 몇마리인지? & 고양이가 먼저 나오게

SELECT ANIMAL_TYPE, COUNT(ANIMAL_TYPE) AS COUNT
FROM ANIMAL_INS
GROUP BY ANIMAL_TYPE
ORDER BY ANIMAL_TYPE

> Q. 동물 보호소에 들어온 동물 이름 중 두 번 이상 쓰인 이름과 해당 이름이 쓰인 횟수를 조회하는 SQL문을 작성해주세요. 
이때 결과는 이름이 없는 동물은 집계에서 제외하며, 결과는 이름 순으로 조회해주세요.

** GROUP에 조건을 줄 때는 WHERE가 아닌 HAVING 조건

SELECT NAME, COUNT(NAME) AS CNT
FROM ANIMAL_INS
GROUP BY NAME
HAVING COUNT(NAME) > 1
ORDER BY NAME

> Q. 보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 
09:00부터 19:59까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 
이때 결과는 시간대 순으로 정렬해야 합니다.

SELECT HOUR(DATETIME) AS HOUR, COUNT(DATETIME) AS COUNT
FROM ANIMAL_OUTS
GROUP BY HOUR(DATETIME)
HAVING HOUR >=9 AND HOUR < 20
ORDER BY HOUR(DATETIME)
profile
안녕하세요 공부한 내용을 기록하기 위해서 시작했습니다.
post-custom-banner

0개의 댓글