기술이야기 (Technomian)/MySQL

[MySQL 문제풀이 공부] 프로그래머스 MySQL 문제 - GROUP BY

economian 2021. 10. 1. 16:40

 

 


 

 

 

 

01. 고양이와 개는 몇 마리 있을까

 

출처 : 프로그래머스 내 작성

어떤 컬럼 안에 데이터 중에 특정한 값(위 문제에서 Dog, Cat)의 갯수 세기.

 

일단 ANIMAL_TYPE 컬럼 내 데이터를 'GROUP BY' 한 후에, 갯수를 센다. 단, WHERE 조건문으로 개와 고양이만 불러온다. 고양이가 'ㄱ'이기에 오름차순으로 Order by한다.

 

 

GROUP BY

그룹으로 묶어주는 명령문이다. 보통은 집계함수(AVG, MAX, MIN 등)와 함께 쓰인다. 또, 읽기 편하게 AS를 통해 명칭을 정의해주기도 한다.

 

 


 

 

02. 동물 수 구하기

 

출처 : 프로그래머스 내 작성

 

큰 틀에서 하단부에 위치한 쿼리문들이 최종적으로 보여주는 것. 상단부 쿼리문들로 원하는 테이블을 새로 뽑아낸다. 이것으로 하단부에 FROM에 활용하는 구조이다.

 

요약하면,

상단부 : 주어진 테이블(ANIMAL_INS)으로부터 내가 활용하기 위한 새로운 테이블(CNT)을 새롭게 만들어내는 과정

하단부 : 새롭게 만든 테이블(CNT)으로부터 내가 원하는 데이터를 불러오는 과정

위와 같은 구조를 가지고 있다.

 

 

원하는 테이블 구조 새롭게 정의하기

 

WITH '내가 새롭게 정의할 테이블 이름' + AS ( 새롭게 정의할 테이블의 컬럼구조 )

--> 위 문제에서, 새롭게 정의한 테이블이 'CNT'인 것이고, 그 안에는 'NAME', 'COUNT'라는 컬럼과 그 값들 적재되어 있다.

 

 

 

 


 

 

 

03. 입양 시각 구하기 (1)

 

출처 : 프로그래머스 내 작성

 

EXTRACT() 추출함수

EXTRACT(HOUR FROM DATETIME) --> DATETIME 컬럼값들 중에서 HOUR을 추출하는 명령

 

BETWEEN a AND b

'a에서 b까지'라는 조건을 뜻함.

 

 

 

 


 

 

 

 

04. 입양 시각 구하기 (1)

 

출처 : 프로그래머스

 

아직 미해결..ㅠㅠ

 

 

 

 


출처.

프로그래머스 MySQL 코딩테스트 연습

programmers.co.kr/learn/courses/30/parts/17042

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

이전글.

https://econimian.tistory.com/26

 

[MySQL 문제풀이 공부] 프로그래머스 MySQL 문제 - SUM, MAX, MIN

Lv.2 SUM, MAX, MIN 01. 최댓값/최솟값 구하기 어떤 컬럼값에서 최댓값을 보고 싶으면, MAX(column명)을 입력하면 된다. 반면, 최솟값은 MIN(column명)을 입력한다. 02. 동물 수 구하기 'COUNT'는 말 그대로..

econimian.tistory.com

 

728x90
반응형