동명 동물 수 찾기 & 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기

는는·2023년 1월 24일
0

SQL - 문제 풀이

목록 보기
15/77

동명 동물 수 찾기

https://school.programmers.co.kr/learn/courses/30/lessons/59041

두 번 이상 쓰인 이름과 해당 이름이 쓰인 횟수를 조회하는 문제입니다.

이름이랑, 이름의 횟수를 센, 컬럼을 만들어 불러옵니다.

SELECT name, count(name) AS count
FROM animal_ins

전체 횟수가 카운팅이 됩니다.

여기서 GROUP BY 로 이름 기준으로 나눠줍니다.

GROUP BY name

HAVING 이란 GROUP BY 후에 결과를 보고 다시 나눌때 사용 하는 것인데요.

HAVING으로 이름 횟수가 2번 이상이고, 이름이 있는 동물만 집계해서 보여줍니다.

HAVING count(name) >= 2 AND name is not null

마지막으로 이름 기준으로 정렬해주면 정답입니다.

ORDER BY name

정답

SELECT name, count(name) AS count
FROM animal_ins
GROUP BY name
HAVING count(name) >= 2 AND name is not null
ORDER BY name

자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기

https://school.programmers.co.kr/learn/courses/30/lessons/151137

통풍시트, 열선시트, 가죽시트 중 하나 이상의 옵션이 포함된 자동차의 종류별 몇 대인지 출력하는 문제인데요.

일단 모든 컬럼을 조회합니다.

SELECT *
FROM car_rental_company_car

통풍시트 , 열선시트, 가죽시트 중 하나 이상의 옵션을 포함해야하기 때문에,
WHERE 절에서 LIKE를 통해 지정 정보를 가져옵니다.

WHERE options LIKE '%통풍시트%' OR options LIKE '%열선시트%' OR options LIKE "%가죽시트%"

이제 지정된 컬럼을 불러옵니다.

SELECT car_type, count(car_type) AS cars

GROUP BY로 car_type 기준으로 나눠주고, 정렬해주면 정답입니다.

GROUP BY car_type
ORDER BY car_type

정답

SELECT car_type, count(car_type) AS cars
FROM car_rental_company_car
WHERE options LIKE '%통풍시트%' OR options LIKE '%열선시트%' OR options LIKE "%가죽시트%"
GROUP BY car_type
ORDER BY car_type

0개의 댓글

관련 채용 정보