티스토리 뷰
반응형
GROUP BY
group by는 값은 값을 가진 데이터끼리 묶어주는 역할을 한다. 뒤에 having과 함께 사용할 수 있고, having은 반드시 group by 뒤에만 나올 수 있다. having 뒤에는 조건을 적는다.
고양이와 개는 몇 마리 있을까 (Level 2)
SELECT ANIMAL_TYPE, COUNT(*) AS count
FROM ANIMAL_INS
GROUP BY ANIMAL_TYPE
ORDER BY ANIMAL_TYPE ASC
동명 동물 수 찾기 (Level 2)
SELECT NAME, COUNT(NAME)
FROM ANIMAL_INS
GROUP BY NAME
HAVING COUNT(NAME)>1
ORDER BY NAME ASC
입양 시각 구하기(1) (Level 2)
SELECT DATE_FORMAT(DATETIME, '%H') AS HOUR, COUNT(*) AS COUNT
FROM ANIMAL_OUTS
GROUP BY DATE_FORMAT(DATETIME, '%H')
HAVING HOUR >= 9 AND HOUR <= 19
ORDER BY HOUR ASC
입양 시각 구하기(2) (Level 4)
with recursive time as
(select 0 as hour union all select hour+1 from time where hour<23)
select hour, count(animal_id) count
from time
left outer join animal_outs on (hour = date_format(datetime, '%H') )
group by hour
DATE_FORMAT에 익숙하지 않은 분은 한번 찾아보길 바란다.
나머지 SQL문제는 다 쉽게 풀었는데 마지막 문제는 어려웠다.
마지막 문제는 with 절을 사용하는데 with는 임시의 view(가상 테이블; 물리적으로 존재하지 않고 계산된 테이블)를 만드는데 사용된다.
이 문제 풀면서 with recursive 사용해서 테이블 만드는 걸 처음 봤다. 따로 나도 설명은 잘 못하겠고 내가 참고한 블로그 링크를 첨부하겠다.
https://hyunmin1906.tistory.com/149
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
프로그래머스 SQL 고득점 Kit 코드 총정리 (MySQL) : JOIN (0) | 2021.03.19 |
---|---|
프로그래머스 SQL 고득점 Kit 코드 총정리 (MySQL) : IS NULL (0) | 2021.03.19 |
프로그래머스 SQL 고득점 Kit 코드 총정리 (MySQL) : SUM, MAX, MIN (0) | 2021.03.16 |
프로그래머스 SQL 고득점 Kit 코드 총정리 (MySQL) : SELECT (0) | 2021.03.16 |
프로그래머스 카펫 : 완전탐색 (C++) (0) | 2020.12.28 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- MySQL
- 자바스크립트
- 프로그래머스
- 리액트
- React
- c++
- 백준
- dfs
- 다이나믹프로그래밍
- 후위표기식
- 카카오추천팀
- 코드포매터
- 개발
- 머신러닝
- reactjs
- JS
- 우선순위큐
- sql
- 알고리즘
- 코테후기
- 회고
- 컴퓨터과학
- Dash
- 큐
- 컴퓨터공학
- dash-plotly
- 자료구조
- 동적계획법
- 스택
- plotly
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함
반응형