[프로그래머스 SQL] Lv.3 - 즐겨찾기가 가장 많은 식당 정보 출력하기
·
SQL/GROUP BY
https://school.programmers.co.kr/learn/courses/30/lessons/131123 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 풀이서브 쿼리로 음식 종류별로 그룹핑하여 MAX 키워드로 즐겨찾기수가 가장 많은 식당을 조회하여 REST_INFO 테이블과 자체 조인한다. 이때 조인 조건은 음식 종류와 즐겨찾기수가 같음으로 한다.음식 종류, ID, 식당 이름, 즐겨찾기수를 조회한다.음식 종류를 기준으로 내림차순 정렬한다.SELECT A.FOOD_TYPE, A.REST_ID, A.REST_NAME, A.FAVORITESFROM REST_IN..
[프로그래머스 SQL] Lv.3 - 카테고리 별 도서 판매량 집계하기
·
SQL/GROUP BY
https://school.programmers.co.kr/learn/courses/30/lessons/144855 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 풀이BOOK 테이블과 BOOK_SALES 테이블을 조인한다.BOOK_SALES 테이블의 SALES_DATE가 2022년 1월인 행을 필터링한다.카테고리를 기준으로 그룹핑한다.카테고리와 SUM 키워드로 카테고리 별 도서 판매량의 합을 조회한다.카테고리명을 기준으로 오름차순 정렬한다.SELECT A.CATEGORY, SUM(B.SALES) AS TOTAL_SALESFROM BOOK A JOIN BOOK_SAL..
[프로그래머스 SQL] Lv.3 - 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기
·
SQL/GROUP BY
https://school.programmers.co.kr/learn/courses/30/lessons/151139 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 풀이서브 쿼리를 이용해 대여 시작일이 2022년 8월 ~ 2022년 10월인 행들을 자동차 ID를 기준으로 그룹핑했을 때 그룹 수가 5개 이상인 자동차 ID에 해당하는 행을 필터링한다.월과 자동차 ID를 기준으로 그룹핑한다.월을 기준으로 오름차순 정렬하고, 자동차 ID를 기준으로 내림차순 정렬한다.SELECT MONTH(START_DATE) AS MONTH, CAR_ID, COUNT(*) AS RECORDSFROM ..
[프로그래머스 SQL] Lv.2 - 월별 잡은 물고기 수 구하기
·
SQL/GROUP BY
https://school.programmers.co.kr/learn/courses/30/lessons/293260 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 풀이MONTH 키워드로 TIME의 월을 기준으로 그룹핑한다.COUNT 키워드로 그룹핑된 행의 수와 MONTH 키워드로 월을 조회한다.월을 기준으로 오름차순 정렬한다.SELECT COUNT(*) AS FISH_COUNT, MONTH(TIME) AS MONTHFROM FISH_INFOGROUP BY MONTH(TIME)ORDER BY MONTH
[프로그래머스 SQL] Lv.2 - 물고기 종류별 잡은 수 구하기
·
SQL/GROUP BY
https://school.programmers.co.kr/learn/courses/30/lessons/293257 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 풀이FISH_INFO 테이블과 FISH_NAME_INFO 테이블을 조인한다.FISH_NAME_INFO 테이블의 물고기 이름을 기준으로 그룹핑한다.COUNT 키워드로 잡은 수를 조회하고, 물고기 이름을 조회한다.잡은 수를 기준으로 내림차순 정렬한다.SELECT COUNT(*) AS FISH_COUNT, B.FISH_NAMEFROM FISH_INFO A JOIN FISH_NAME_INFO B ON A.FISH_TYPE = ..
[프로그래머스 SQL] Lv.2 - 노선별 평균 역 사이 거리 조회하기
·
SQL/GROUP BY
https://school.programmers.co.kr/learn/courses/30/lessons/284531 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 풀이노선(ROUTE)을 기준으로 그룹핑한다.노선별 총 누계거리를 구한다. SUM 키워드로 총합을 구하고, ROUND 키워드로 반올림을 한 다음, CONCAT 키워드로 단위 'km'를 함께 조회한다.노선별 평균 역 사이 거리를 구한다. AVG 키워드로 평균을 구하고, ROUND 키워드로 반올림을 한 다음, CONCAT 키워드로 단위 'km'를 함께 조회한다.총 누계거리를 기준으로 내림차순 정렬한다.SELECT ROUTE, CO..
[프로그래머스 SQL] Lv.2 - 조건에 맞는 사원 정보 조회하기
·
SQL/GROUP BY
https://school.programmers.co.kr/learn/courses/30/lessons/284527 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 풀이HR_DEPARTMENT, HR_EMPLOYEES, HR_GRADE 테이블을 조인한다.사번(EMP_NO)을 기준으로 그룹핑한다.SUM 키워드로 평가 점수의 합과 함께 사번, 성명, 직책, 이메일을 조회한다.평가 점수를 기준으로 내림차순 정렬한다.LIMIT 키워드로 상위 첫 번째 행만 조회한다.SELECT SUM(G.SCORE) AS SCORE, E.EMP_NO, E.EMP_NAME, E.POSITION, E..
[프로그래머스 SQL] Lv.2 - 가격대 별 상품 개수 구하기
·
SQL/GROUP BY
https://school.programmers.co.kr/learn/courses/30/lessons/131530 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 풀이1만 원 미만대, 1만 원대, 2만 원대, 3만 원대... 이렇게 만원 단위로 구분하는 것이 중요하다.일단 가격을 1만으로 나눈 몫으로 몇만 원대인지 알 수 있다. 이때 소수점이 나올 경우 소수점 이하는 별 의미가 없으므로 FLOOR 키워드로 소수점을 버린다. 그리고 몫의 1만을 곱하면 각 구간의 최소금액으로 표시할 수 있다.이렇게 구한 각 구간의 최소금액으로 그룹핑한다.각 구간의 최소금액과 COUNT 키워드로 그룹핑된 행의 개수를 조..
[프로그래머스 SQL] Lv.2 - 입양 시각 구하기(1)
·
SQL/GROUP BY
https://school.programmers.co.kr/learn/courses/30/lessons/59412 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 풀이입양일의 시각이 09시부터 19시까지 행을 필터링한다.입양일의 시각을 기준으로 그룹핑한다.HOUR와 COUNT 키워드로 각각 시간대와 그룹핑된 행의 수를 조회한다.시간대를 기준으로 오름차순 정렬한다.SELECT HOUR(DATETIME) AS HOUR, COUNT(*) AS COUNTFROM ANIMAL_OUTSWHERE HOUR(DATETIME) BETWEEN 9 AND 19GROUP BY 1ORDE..
[프로그래머스 SQL] Lv.2 - 동명 동물 수 찾기
·
SQL/GROUP BY
https://school.programmers.co.kr/learn/courses/30/lessons/59041 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 풀이동물 이름을 기준으로 그룹핑한다.두 번 이상 쓰인 이름만 조회해야 하기 때문에 HAVING과 COUNT 키워드로 그룹핑했을 때 두 개 이상의 행이 그룹핑되는 이름만 필터링한다.이름과 COUNT 키워드로 쓰인 횟수를 조회한다.이름을 기준으로 오름차순 정렬한다.SELECT NAME, COUNT(NAME) AS COUNTFROM ANIMAL_INSGROUP BY NAME HAVING COUNT(NAME) >= 2O..