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