목록프로그래머스/SQL (88)
Welcome! Everything is fine.
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 정답 이번 문제는 ROUND, AVG, DATEDIFF 등의 함수를 잘 쓸 수 있는지 확인하는 문제인 것 같다. ROUND 함수로 소수점을 반올림 하고, AVG 함수로 평균을 구하고, DATEDIFF 함수로 날짜의 차이를 계산할 수 있으면 쉽게 풀 수 있는 문제였다. SELECT CAR_ID, ROUND(AVG(DATEDIFF(END_DATE, START_DATE) + 1), 1) AS AVERAGE_DURATION FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY GROUP ..
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 정답 다른 건 다 잘 작성해놓고 항상 CASE문에서 막힌다..! 꼭 기억해두자. DATEDIFF 함수도 다른 문제를 풀 때 공부했던 것 같은데 또 까먹었다. 일 차이를 구할 때는 DATEDIFF 함수를 주로 쓰지만, 연, 월, 시, 초 등을 지정해 구할 때는 TIMESTAMPDIFF 함수를 주로 이용한다고 한다. DATEDIFF 함수 뒤에 + 1을 한 것은...1일에 빌려 1일에 반납을 해도 대여기간은 1일이기 때문에 1을 더해주었다고 보면 된다. SELECT HISTORY_ID , CAR_ID ..
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 제출한 오답 처음 작성한 답안은 Unknown column 'VIEWS' in 'having clause' 라는 오류가 났다. SELECT CONCAT("/home/grep/src/", BOARD_ID, "/", FILE_ID, FILE_NAME, FILE_EXT) AS FILE_PATH FROM USED_GOODS_BOARD JOIN USED_GOODS_FILE USING(BOARD_ID) GROUP BY FILE_ID HAVING VIEWS = MAX(VIEWS) ORDER BY FILE_ID..
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 제출한 오답 상품을 구매한 회원 수를 센 COUNT(USER_ID)에서 중복을 제거하는 DISTINCT 키워드를 넣지 않았다. ONLINE_SALE 테이블에 중복된 USER가 존재하기 때문에 DISTINCT를 이용해 중복을 제거해야 한다. SELECT YEAR(SALES_DATE) AS YEAR , MONTH(SALES_DATE) AS MONTH , GENDER , COUNT(USER_ID) AS USERS FROM USER_INFO JOIN ONLINE_SALE USING(USER_ID) WHE..
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 제출한 오답 처음 제출한 답안은 ID를 GROUP BY로 묶지 않은 것과 평균 점수를 소수점 세 번째 자리에서 반올림하지 않은 것 때문에 오답처리 되었다. SELECT REST_ID, REST_NAME, FOOD_TYPE, FAVORITES, ADDRESS, AVG(REVIEW_SCORE) AS SCORE FROM REST_INFO JOIN REST_REVIEW USING(REST_ID) WHERE ADDRESS LIKE '서울%' ORDER BY SCORE DESC, FAVORITES DESC ..
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 정답 LIKE 연산자가 익숙해 많이 사용했는데, YEAR(TIME) = '2021' 와 같이 YEAR 함수로도 표현이 가능하다는 것을 기억해두자! SELECT COUNT(*) AS FISH_COUNT FROM FISH_INFO WHERE TIME LIKE '2021%'
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 정답 PARENT_ITEM_ID가 NULL인 경우를 찾아 출력해주면 된다. SELECT ITEM_ID, ITEM_NAME FROM ITEM_INFO JOIN ITEM_TREE USING(ITEM_ID) WHERE PARENT_ITEM_ID IS NULL ORDER BY ITEM_ID
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 정답 STATUS의 상태에 따라 문자열을 바꾸는 부분은 모르겠어서 답을 참고하였다. CASE문 혹은 IF문을 사용하여 바꿔주면 되는데, 바로 기억나지않아서 해당 문법을 다시 한 번 기억해놔야겠다. SELECT BOARD_ID , WRITER_ID , TITLE , PRICE , CASE STATUS WHEN 'SALE' THEN '판매중' WHEN 'RESERVED' THEN '예약중' WHEN 'DONE' THEN '거래완료' ELSE 'NONE' END AS STATUS FROM USED_GO..