반응형

 

 

알고리즘 문제인지 알았지만

SQL 문제였다.

 

하지만 SQL 로직에도 알고리즘이 필요하기 때문에 풀어보았다.

 

다른 일정이 있어서 다 풀진 못했지만 푼 부분까지 정답을 정리해보았다.

 

1번 문제

-- 코드를 입력하세요
SELECT MAX(DATETIME)
FROM ANIMAL_INS
-- ORDER BY DATETIME

 

2번 문제

-- 코드를 입력하세요
SELECT MIN(DATETIME)
FROM ANIMAL_INS

 

3번 문제

-- 코드를 입력하세요
SELECT count(*)
FROM ANIMAL_INS

 

4번 문제

-- 코드를 입력하세요
SELECT COUNT(DISTINCT(NAME))
FROM ANIMAL_INS

 

5번 문제

-- 코드를 입력하세요
SELECT ANIMAL_TYPE, count(*)
FROM ANIMAL_INS
WHERE ANIMAL_TYPE IN ('Cat','Dog')
GROUP BY ANIMAL_TYPE

 

6번 문제

-- 코드를 입력하세요
SELECT *
FROM (
SELECT NAME, COUNT(*) AS COUNT
FROM ANIMAL_INS
GROUP BY NAME) A
WHERE A.COUNT >= 2 AND A.NAME IS NOT NULL
ORDER BY A.NAME

 

7번 문제

-- 코드를 입력하세요
SELECT hour(DATETIME) HOUR, COUNT(*) AS COUNT
FROM ANIMAL_OUTS
GROUP BY hour(DATETIME)
HAVING HOUR >= 9 AND HOUR <= 19
ORDER BY hour(DATETIME)

 

8번 문제

-- 코드를 입력하세요
set @a := -1;
SELECT HOUR, IFNULL(COUNT,0)
FROM(SELECT HOUR(DATETIME) AS HOUR1, COUNT(*) AS COUNT
FROM ANIMAL_OUTS
GROUP BY HOUR(DATETIME)) real_table RIGHT JOIN (SELECT *
FROM (SELECT @a:=@a+1 as HOUR FROM ANIMAL_OUTS) A
WHERE A.HOUR >= 0 AND A.HOUR < 24) total_table ON real_table.HOUR1 = total_table.HOUR
반응형

+ Recent posts