[SQL] 프로그래머스 SQL 고득점 Kit GROUP BY (4)
·
Language/SQL
언어별 개발자 분류하기 1. WITH 절 사용해서 비트 연산을 위한 임시 테이블 만들기 (1). 스킬의 코드(CODE)의 합계 조회 (2). 스킬의 범주(CATEGORY)가 'Front End'인 데이터만 추출 2. CASE WHEN 절과 비트연산(&)을 사용해서 GRADE 컬럼 만들고 조회 (1). Front End 스킬과 Python 스킬을 함께 가지고 있는 개발자인 경우 'A' (2). C# 스킬을 가진 개발자인 경우 'B' (3). 그 외의 Front End 개발자인 경우 'C' 3. 개발자의 ID(ID)와 이메일(EMAIL) 조회 4. HAVING 절을 사용해서 GRADE가 NULL이 아닌 데이터만 추출 5. GRADE, ID 기준으로 오름차순 정렬 WITH FRONT_END AS ( SELEC..
[SQL] 프로그래머스 SQL 고득점 Kit GROUP BY (3)
·
Language/SQL
진료과별 총 예약 횟수 출력하기 1. 진료과코드(MCDP_CD), 진료과코드(MCDP_CD) 별 건수 조회 2. 진료예약일시(APNT_YMD)가 2022년 5월인 데이터만 추출 3. MCDP_CD 별로 GROUP BY해서 예약한 환자 수 집계 4. 월예약건수, 진료과코드 기준으로 오름차순 정렬 SELECT MCDP_CD AS 진료과코드, COUNT(*) AS 월예약건수 FROM APPOINTMENT WHERE APNT_YMD LIKE '2022-05%' GROUP BY MCDP_CD ORDER BY 월예약건수, 진료과코드 ASC 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. progra..
[SQL] 프로그래머스 SQL 고득점 Kit GROUP BY (2)
·
Language/SQL
자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 1. '2022-10-16'에 대여중인 CAR_ID만 추출해서 임시 테이블 만들기 2. CAR_ID 조회 3. 임시 테이블의 CAR_ID에 CAR_ID가 속하면 '대여중', 아니면 '대여 가능'인 AVAILABILITY 컬럼 추가 4. CAR_ID 별로 GROUP BY (CAR_ID가 중복으로 나타날수도 있음으로 GROUP BY 사용) 5. CAR_ID 내림차순으로 정렬 WITH RENT_CAR_ID AS (SELECT CAR_ID FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY WHERE '2022-10-16' BETWEEN START_DATE AND END_DATE) SELECT CAR_ID, (CASE WHEN CAR_I..
[SQL] 프로그래머스 SQL 고득점 Kit GROUP BY (1)
·
Language/SQL
즐겨찾기가 가장 많은 식당 정보 출력하기 1. FOOD_TYPE 별로 GROUP BY 한 뒤에 MAX(FAVORITES)로 음식종류별로 가장 많은 즐겨찾기 수 찾고, WITH 절 사용해서 임시테이블 만들기 2. FOOD_TYPE, REST_ID, REST_NAME, FAVORITES 조회 3. REST_INFO 테이블에 MAX_FAVORITES 테이블을 FOOD_TYPE과 FAVORITES을 기준으로 INNER JOIN 4. FOOD_TYPE 기준 내림차순으로 정렬 WITH MAX_FAVORITES AS (SELECT FOOD_TYPE, MAX(FAVORITES) AS FAVORITES FROM REST_INFO GROUP BY FOOD_TYPE) SELECT A.FOOD_TYPE, A.REST_ID, ..
[SQL] 프로그래머스 SQL 고득점 Kit JOIN (2)
·
Language/SQL
상품 별 오프라인 매출 구하기 1. PRODUCT_CODE(상품코드)와 PRICE(판매가) * SALES_AMOUNT(판매량)를 곱한 값의 합계인 SALES(매출액) 조회 2. `OFFLINE_SALE` 테이블에 `PRODUCT` 테이블을 PRODUCT_ID(상품 ID)를 기준으로 LEFT JOIN 3. PRODUCT_CODE(상품코드) 별로 GROUP BY 4. SALES(매출액) 내림차순으로 정렬하고, PRODUCT_CODE(상품코드) 오름차순으로 정렬 SELECT PRODUCT_CODE, SUM(PRICE*SALES_AMOUNT) AS SALES FROM OFFLINE_SALE AS O LEFT JOIN PRODUCT AS P ON O.PRODUCT_ID = P.PRODUCT_ID GROUP BY ..
[SQL] 프로그래머스 SQL 고득점 Kit JOIN (1)
·
Language/SQL
주문량이 많은 아이스크림들 조회하기 1. FLAVOR(아이스크림 맛) 조회 2. UNION을 사용해서 FIRST_HALF 테이블과 JULY 테이블을 합치기 3. GROUP BY 함수를 이용해서 FLAVOR(아이스크림 맛) 별 합계 구하기 4. 테이블은 FLAVOR(아이스크림 맛)만 포함해야 되기 때문에 SUM(TOTAL_ORDER)을 SELECT 구문에 작성하지 않고, ORDER BY 구문에 작성 5. 내림차순(DESC)으로 3개만 출력(LIMIT 3) ▪ UNION와 UNION ALL의 차이점 → UNION은 중복된 데이터를 제거하고 합침 UNION ALL은 중복제거 없이 합침 SELECT FLAVOR FROM (SELECT * FROM FIRST_HALF UNION SELECT * FROM JULY)..