본문 바로가기

데이터 베이스/Programmers

(2)
[프로그래머스 SQL 고득점 Kit] 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 데이터 그룹핑 문제 https://school.programmers.co.kr/learn/courses/30/lessons/151139 [문제 설명] 8월~10월 사이의 총 대여 횟수가 5회 이상인 차들에 대해 월별로 몇 번 대여 됐는지를 알아내는 문제입니다. 대여 시작일(AS MONTH), 자동차 ID, 월별 대여 횟수(AS RECORDS)를 출력하면 됩니다. 대여가 한 번도 되지 않은 월은 출력하지 않고, 월을 기준으로 오름차순, 그 후에는 자동차 ID를 기준으로 내림차순 정렬해야 한다는 조건이 있습니다. 차근차근 보겠습니다. 출력이 대여 시작일, 자동차 ID, 월별 대여 횟수로 지정되어 있으므로 대여 시작일: date타입인 START_DATE를 월만 잘라서 출력. 자동차 ID: 그냥 CAR_ID 출..
[프로그래머스 SQL 고득점 Kit] 중복 제거하기 그룹 함수 문제 https://school.programmers.co.kr/learn/courses/30/lessons/59408 [문제 설명] 주어진 테이블 내에서 NULL을 제외한 동물의 이름이 몇 개인지 출력하는 문제입니다. 단순히 열이 몇 개 인지 구현한다면 COUNT(*)로 끝낼 수 있습니다. 그러나 동물 이름에 대해 중복을 제거하고 COUNT해줘야 하는 문제입니다. 중복을 제거하는 키워드인 DISTINCT를 NAME에 사용하여 중복을 제거하고 COUNT를 하면 해결됩니다. (= COUNT(DISTINCT NAME)) 어려운 문제는 아니지만 헷갈릴만한 부분이 두 가지 있습니다. 첫 번째로는 COUNT(DISTINCT NAME) / DISTINCT COUNT(NAME) 의 차이점입니다. 차근차근 ..