티스토리 뷰
자주 사용하지 않는 구문에 대해서만 참고용으로 작성하였다.
입양 시각 구하기(1)
보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 09:00부터 19:59까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다.
https://programmers.co.kr/learn/courses/30/lessons/59412
SELECT HOUR(DATETIME), COUNT(*)
FROM ANIMAL_OUTS
WHERE HOUR(DATETIME) BETWEEN '9' AND '20'
GROUP BY HOUR(DATETIME)
ORDER BY HOUR(DATETIME)
* MySQL의 날짜타입에서 시간만 가져오고 싶을 때는 HOUR() 함수를 사용한다.
입양 시각 구하기(2)
보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 0시부터 23시까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다.
https://programmers.co.kr/learn/courses/30/lessons/59413
SET @hour := -1;
SELECT IFNULL(hour_val2,hour_val1) AS 'HOUR', IFNULL(cnt,0) AS 'CNT'
FROM (
SELECT @hour := @hour + 1 AS 'hour_val1'
FROM ANIMAL_OUTS
WHERE @hour < 23
) A
LEFT OUTER JOIN (
SELECT HOUR(DATETIME) AS 'hour_val2', COUNT(*) AS 'cnt'
FROM ANIMAL_OUTS
GROUP BY HOUR(DATETIME)
) B
ON A.hour_val1 = B.hour_val2
ORDER BY A.hour_val1
* ANIMAL_OUTS 테이블에는 7~19시까지 입양된 건수가 있는데 만약 입양된 건수가 없는 다른 시간까지 모두 출력하고 싶다면 변수를 사용해서 0~23까지 값이 입력된 테이블을 만든 후 JOIN 해야 한다.
오랜 기간 보호한 동물(2)
입양을 간 동물 중, 보호 기간이 가장 길었던 동물 두 마리의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 기간이 긴 순으로 조회해야 합니다.
https://programmers.co.kr/learn/courses/30/lessons/59411
SELECT A.ANIMAL_ID, A.NAME -- , ABS(DATEDIFF(B.DATETIME,A.DATETIME))
FROM ANIMAL_INS A
JOIN ANIMAL_OUTS B
ON A.ANIMAL_ID = B.ANIMAL_ID
ORDER BY ABS(DATEDIFF(B.DATETIME,A.DATETIME)) DESC
LIMIT 2;
* 보호기간이 가장 길었던 동물을 구하는 것이므로 "입양일 - 보호시작일자"의 차이가 큰 2마리의 동물을 찾아야 한다. 날짜 차이를 구하는 함수인 DATEDIFF()함수를 사용하였고 혹시나 앞뒤가 바뀌어 결과가 반대로 될 수 있으므로 ABS()함수를 사용하였다.
'Programming > MySQL' 카테고리의 다른 글
[LeetCode] MySQL 코딩연습 (0) | 2021.11.13 |
---|---|
[MySQL] MySQL 함수 정리 (0) | 2021.11.08 |
[MySQL] MySQL vs MSSQL 함수 비교 (0) | 2021.11.08 |
[MSSQL/Hackerrank] 15 Days of Learning SQL (0) | 2021.11.07 |
[MySQL/Hackerrank] Print Prime Numbers (0) | 2021.11.07 |
- Total
- Today
- Yesterday
- mysql
- tensorflow
- SQL Server
- 에코캡
- 경구치료제
- HK이노엔
- 몰누피라비르
- list
- 동국알앤에스
- string
- hackerrank
- DATABASE
- MS SQL Server
- 넥스트BT
- 분석탭
- 해커랭크
- 미중무역전쟁
- 테슬라
- Tableau
- 넷플릭스
- TSQL
- python3
- MSSQL
- Weather Observation Station
- 코로나19
- 대원화성
- insert
- python
- 리비안
- 매매일지
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |