https://programmers.co.kr/learn/courses/30/lessons/59040?language=oracle
코딩테스트 연습 - 고양이와 개는 몇 마리 있을까
ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디
programmers.co.kr
-- 코드를 입력하세요
SELECT ANIMAL_TYPE,COUNT(*) as count
FROM ANIMAL_INS
GROUP BY ANIMAL_TYPE
ORDER BY ANIMAL_TYPE;
https://programmers.co.kr/learn/courses/30/lessons/59041
코딩테스트 연습 - 동명 동물 수 찾기
ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디
programmers.co.kr
-- 코드를 입력하세요
SELECT NAME, COUNT(*) AS count
FROM ANIMAL_INS
GROUP BY NAME
HAVING COUNT(NAME) > 1
ORDER BY NAME;
https://programmers.co.kr/learn/courses/30/lessons/59412
코딩테스트 연습 - 입양 시각 구하기(1)
ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물
programmers.co.kr
MySQL에서는 DATE_FORMAT을 이용했는데 ORACLE에서는 TO_CHAR를 이용해 24시간 표시( TO_CHAR(DATETIME, 'HH24') ) 를 구할 수 있었다.
-- DATETIME의 24시간 표시법을 이용해
SELECT TO_CHAR(DATETIME, 'HH24'), COUNT(*)
FROM ANIMAL_OUTS
WHERE TO_CHAR(DATETIME, 'HH24') >= '09' AND TO_CHAR(DATETIME, 'HH24') <= '19'
GROUP BY TO_CHAR(DATETIME, 'HH24')
ORDER BY TO_CHAR(DATETIME, 'HH24');
---인라인 뷰를 이용해 쿼리문을 더욱 간결하게
SELECT HOUR, COUNT(*)
FROM (
SELECT TO_CHAR(DATETIME, 'HH24') AS HOUR
FROM ANIMAL_OUTS
)
WHERE HOUR >= '09' AND HOUR <= '19'
GROUP BY HOUR
ORDER BY HOUR;
https://programmers.co.kr/learn/courses/30/lessons/59413?language=oracle
코딩테스트 연습 - 입양 시각 구하기(2)
ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물
programmers.co.kr
이 문제는 너무 어려웠다... 전에 mySQL로 풀었을 때도 너무 어려웠다..
그래서 아래 블로그를 참고했고 계층형 쿼리를 이용해 문제를 풀 수 있었다.
https://heestory217.tistory.com/8
[Oracle] 프로그래머스 - 입양 시각 구하기 (1), (2)
1. 입양 시각 구하기(1) 문제설명 ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME..
heestory217.tistory.com
SELECT HOUR, COUNT(OUTS.DATETIME) AS COUNT
FROM (
SELECT LEVEL-1 AS HOUR FROM DUAL CONNECT BY LEVEL <=24
)
LEFT JOIN ANIMAL_OUTS OUTS
ON HOUR = TO_CHAR(OUTS.DATETIME,'HH24')
GROUP BY HOUR
ORDER BY HOUR;
'CodingTest Practice > Programmers' 카테고리의 다른 글
프로그래머스 : String, Date (SQL, ORACLE) (0) | 2022.06.06 |
---|---|
프로그래머스 : IS NULL (SQL, ORACLE) (0) | 2022.06.06 |
프로그래머스 : JOIN (SQL, ORACLE) (0) | 2022.06.06 |
프로그래머스 : SUM,MAX,MIN (SQL, ORACLE) (0) | 2022.06.06 |
프로그래머스 : SELECT (SQL , ORACLE) (0) | 2022.06.06 |