반응형

분류 전체보기 127

프로그래머스 - 조건에 부합하는 중고거래 상태 조회하기 (SQL)

💬 내가 작성한 SQL 코드 SELECT BOARD_ID, WRITER_ID, TITLE, PRICE, (CASE WHEN STATUS = 'SALE' THEN '판매중' WHEN STATUS = 'RESERVED' THEN '예약중' ELSE '거래완료' END) AS STATUS FROM USED_GOODS_BOARD WHERE CREATED_DATE = '2022-10-05' ORDER BY BOARD_ID DESC; # 1. 게시글 ID, 작성자 ID, 게시글 제목, 가격, 거래상태를 조회 # 2. 2022년 10월 5일에 등록된 중고거래 게시물 # 3. 거래상태가 SALE 이면 판매중, RESERVED이면 예약중, DONE이면 거래완료 분류하여 출력 # 4. 게시글 ID를 기준으로 내림차순 정렬..

프로그래머스 - 노선별 평균 역 사이 거리 조회하기 (SQL)

💬 내가 작성한 SQL 코드 SELECT ROUTE, CONCAT(ROUND(SUM(D_BETWEEN_DIST),1),'km') AS TOTAL_DISTANCE, CONCAT(ROUND(AVG(D_BETWEEN_DIST),2), 'km') AS AVERAGE_DISTANCE FROM SUBWAY_DISTANCE GROUP BY ROUTE ORDER BY SUM(D_BETWEEN_DIST) DESC ; # TOTAL_DISTANCE 안됨 ! # 노선별로 노선, 총 누계 거리, 평균 역 사이 거리를 노선별로 조회하는 SQL문을 작성 # 총 누계거리는 테이블 내 존재하는 역들의 역 사이 거리의 총 합 # 총 누계 거리와 평균 역 사이 거리의 컬럼명은 각각 TOTAL_DISTANCE, AVERAGE_DISTAN..

프로그래머스 - 월별 잡은 물고기 수 구하기 (SQL)

💬 내가 작성한 SQL 코드 SELECT COUNT(ID) AS FISH_COUNT, MONTH(TIME) AS MONTH FROM FISH_INFO GROUP BY MONTH HAVING COUNT(ID) is not null ORDER BY MONTH ASC; # 1. 월별 잡은 물고기의 수와 월을 출력 # 2. 잡은 물고기 수 컬럼명은 FISH_COUNT, 월 컬럼명은 MONTH # 3. 월을 기준으로 오름차순 정렬 # 4. 월은 숫자형태 (1~12) 로 출력하며 9 이하의 숫자는 두 자리로 출력하지 않습니다 # 5. 잡은 물고기가 없는 월은 출력하지 않습니다. 날짜 데이터에서 일부만 추출하는 방법은 다음과 같다. * YEAR() / MONTH() /DAY() /HOUR() / MINUTE() / ..

프로그래머스 - 조건에 맞는 사용자와 총 거래금액 조회하기 (SQL)

💬 내가 작성한 SQL 코드 SELECT B.USER_ID, B.NICKNAME, SUM(A.PRICE) AS TOTAL_SALES FROM USED_GOODS_BOARD AS A INNER JOIN USED_GOODS_USER AS B ON A.WRITER_ID = B.USER_ID WHERE A.STATUS = 'DONE' GROUP BY A.WRITER_ID HAVING SUM(PRICE) >= 700000 ORDER BY TOTAL_SALES ASC; # 1. 회원 ID, 닉네임, 총거래금액을 조회 # 2. 완료된 중고 거래 # 3. 총 금액이 70만원 이상 # 4. 총거래금액을 기준으로 오름차순 정렬 먼저 상단의 주석처럼, 조건을 작성하고 이를 코드로 작성해보는 식의 방법이 문제를 빠르고 정확하..

프로그래머스 - 상위 n개 레코드 (SQL)

💬 내가 작성한 SQL 코드 SELECT NAME FROM ANIMAL_INS ORDER BY DATETIME LIMIT 1; # 1. 가장 먼저 들어온 동물의 이름을 조회 난이도는 쉬웠고, LIMIT을 사용해보는 문제였다. LIMIT은 결과에서 몇 개의 행을 반환할 것인지 제한하는 구문이다. LIMIT 시작위치, 반환갯수 (시작위치의 idx는 0부터 시작합니다) ex) SELECT * FROM 테이블명 LIMIT 10; -- 처음 부터 10개만 출력하기 (1 ~ 10) SELECT * FROM 테이블명 LIMIT 100, 10; -- 100번째부터 그 후 10개 출력하기 (101 ~ 110)

프로그래머스 - 재구매가 일어난 상품과 회원 리스트 구하기 (SQL)

💬 내가 작성한 SQL 코드 SELECT USER_ID, PRODUCT_ID FROM ONLINE_SALE GROUP BY USER_ID, PRODUCT_ID HAVING COUNT(PRODUCT_ID) >= 2 # 1이 아니라 2부터 ! 재구매 ORDER BY USER_ID ASC, PRODUCT_ID DESC; # 1. 동일한 회원이 동일한 상품을 재구매한 데이터 # 2. 재구매한 회원 ID와 재구매한 상품 ID를 출력 # 3. 회원 ID를 기준으로 오름차순 정렬 # 4. 회원 ID가 같다면 상품 ID를 기준으로 내림차순 정렬 이번 문제는 HAVING을 사용하는 문제였다. HAVING은 해석상 WHERE과 동일하다. 일반조건은 WHERE 절에 기술하지만, 그룹 함수를 포함한 조건은 HAVING 절에 ..

프로그래머스 - 서울에 위치한 식당 목록 출력하기 (SQL)

💬 내가 작성한 SQL 코드 SELECT A.REST_ID, A.REST_NAME, A.FOOD_TYPE, A.FAVORITES, A.ADDRESS, ROUND(AVG(B.REVIEW_SCORE), 2) AS SCORE FROM REST_INFO AS A INNER JOIN REST_REVIEW AS B ON A.REST_ID = B.REST_ID WHERE SUBSTR(ADDRESS, 1, 2) = '서울' GROUP BY A.REST_ID ORDER BY SCORE DESC, A.FAVORITES DESC; # 1. 식당 ID, 식당 이름, 음식 종류, 즐겨찾기수, 주소, 리뷰 평균 점수를 조회 # 2. 리뷰 평균점수는 소수점 세 번째 자리에서 반올림 # 3. 서울에 위치한 식당들 # 4. 결과는 평..

프로그래머스 - 강원도에 위치한 생산공장 목록 출력하기 (SQL)

💬 내가 작성한 SQL 코드 SELECT FACTORY_ID, FACTORY_NAME, ADDRESS FROM FOOD_FACTORY WHERE SUBSTR(ADDRESS, 1, 3) = '강원도' ORDER BY FACTORY_ID ASC; # 1. 공장 ID, 공장 이름, 주소를 조회 # 2. 강원도에 위치한 식품공장 # 3. 결과는 공장 ID를 기준으로 오름차순 정렬 조건을 작성하고 해결하니까, 너무너무 쉽다. 직관적인 SQL 재밌다 ....

프로그래머스 - 인기있는 아이스크림 (SQL)

💬 내가 작성한 SQL 코드 SELECT FLAVOR FROM FIRST_HALF ORDER BY TOTAL_ORDER DESC, SHIPMENT_ID ASC; # 1. 맛 조회 # 2. 총 주문량을 기준으로 내림차순 정렬 # 3. 총 주문량이 같으면 출하번호를 기준으로 오름차순 정렬 너무너무너무 쉬운 문제였다. 문제를 풀 때 조건을 먼저 정리하여 작성하고, 이를 코드로 옮기는 듯의 풀이가 나한테 잘 맞는 것 같다. 문제를 정확히 정의하고 ! 이를 구현하는 형식으로 !

728x90
반응형