알고리즘/SQL
[GROUP BY] 프로그래머스 SQL 고득점 Kit
이진지니지니진
2023. 2. 20. 14:03
진료과별 총 예약 횟수 출력하기
SELECT MCDP_CD as '진료과 코드', count(*) as '5월예약건수'
FROM APPOINTMENT
WHERE YEAR(APNT_YMD) = 2022 and MONTH(APNT_YMD) = 5
GROUP BY MCDP_CD
ORDER BY count(MCDP_CD), MCDP_CD
성분으로 구분한 아이스크림 총 주문량
SELECT INGREDIENT_TYPE, SUM(TOTAL_ORDER) AS TOTAL_ORDER
FROM FIRST_HALF A, ICECREAM_INFO B
WHERE A.FLAVOR = B.FLAVOR
GROUP BY INGREDIENT_TYPE
자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기
SELECT CAR_TYPE, COUNT(*) AS CARS
FROM CAR_RENTAL_COMPANY_CAR
WHERE OPTIONS LIKE '%시트%'
GROUP BY CAR_TYPE
ORDER BY CAR_TYPE
WHERE 컬럼명 LIKE : 특정 값(단어)이 포함된 값
NOT LIKE : 특정 값(단어)이 포함되지 않은 값
% (모든문자)
_ (한 글자)
고양이와 개는 몇 마리 있을까
SELECT ANIMAL_TYPE, COUNT(*) AS COUNT
FROM ANIMAL_INS
GROUP BY ANIMAL_TYPE
ORDER BY ANIMAL_TYPE
동명 동물 수 찾기
SELECT NAME, COUNT(NAME) AS COUNT
FROM ANIMAL_INS
GROUP BY NAME
HAVING COUNT >= 2
ORDER BY NAME
HAVING 검색 조건 : 그룹화 또는 집계가 발생한 후 레코드 필터링 하는데 사용
(GROUP BY절 뒤에 사용)
입양 시각 구하기(2)
SELECT HOUR(DATETIME) HOUR, COUNT(*) COUNT
FROM ANIMAL_OUTS
GROUP BY HOUR(DATETIME)
HAVING HOUR BETWEEN 9 AND 20
ORDER BY HOUR
가격대 별 상품 개수 구하기
SELECT FLOOR(PRICE / 10000) * 10000 AS PRICE_GROUP, count(*) AS PRODUCTS
FROM PRODUCT
GROUP BY PRICE_GROUP
ORDER BY PRICE_GROUP
FLOOR(숫자) : 소수점 이하는 버림