date 7

[Lv.2 / 프로그래머스 / SQL] 분기별 분화된 대장균의 개체 수 구하기

프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   풀이 분기별 대장균 개체의 수를 구해야 한다. CASE문과 집계 함수인 COUNT를 이용해 조건별로 분기별 대장균 개체의 수를 구할 수 있다.  SELECT CASE WHEN MONTH(DIFFERENTIATION_DATE)

[Lv.1 / 프로그래머스 / SQL] 자동차 대여 기록에서 장기/단기 대여 구분하기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (MySQL) 2022년 9월에 대여한 자동차를 대여 기간에 따라 단기/장기 여부를 함께 조회해야 한다. START_DATE와 END_DATE 컬럼의 경우 포맷을 예시 출력과 동일하게 해야 함에 주의해야 한다. 여기서, 9월1일에 빌려서 9월1일에 반납한 것도 하루로 쳐야 하므로 DATEDIFF 함수의 결과값에 1을 더하여 계산해야 SELECT HISTORY_ID, CAR_ID, DATE_FORMAT(START_DATE, "%Y-%m-%d") AS START_DATE, DATE_FORMAT(END_DAT..

[Lv.3 / 프로그래머스 / SQL] 오랜 기간 보호한 동물 (2)

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (MySQL) 입양을 간 동물 중, 가장 오랜 기간 보호되었던 동물 두 마리를 조회해야 한다. Inner Join을 통해 두 테이블 모두에 존재하는 동물 데이터를 가져온 뒤, 보호소에 들어온 시점과 입양을 간 시점의 차이를 구해 그 차가 큰 순으로 내림차순 정리하면 된다. SELECT INS.ANIMAL_ID, INS.NAME FROM ANIMAL_INS AS INS INNER JOIN ANIMAL_OUTS AS OUTS ON INS.ANIMAL_ID = OUTS.ANIMAL_ID ORDER BY OUT..

[Lv.2 / 프로그래머스 / SQL] 조건에 부합하는 중고거래 상태 조회하기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (MySQL) 2022년 10월 5일에 등록된 데이터를 상태에 따라 알맞게 변환한 형태로 조회해야 한다. IF문을 사용할 수도 있지만, 가독성을 위해 CASE문을 사용했다. SELECT BOARD_ID, WRITER_ID, TITLE, PRICE, CASE STATUS WHEN "DONE" THEN "거래완료" WHEN "SALE" THEN "판매중" ELSE "예약중" END AS STATUS FROM USED_GOODS_BOARD WHERE CREATED_DATE = '2022-10-05' ORDER..

[Lv.1 / 프로그래머스 / SQL] 조건에 부합하는 중고거래 댓글 조회하기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (MySQL) Lv.1 로 표기되어 있지만 사실 Lv.2나 Lv.3 언저리쯤이라고 생각된다. 난이도 책정이 잘못된 게 아닌가 싶다. 두 테이블을 조인하여 알맞은 컬럼을 SELECT해야 한다. 이 때, 댓글의 CREATED_DATE가 2022년10월인 것을 조회해야 하며, 데이터 형식도 yyyy-mm-dd 꼴이어야 한다. 두 테이블에서 이름이 겹치는 것들이 있는데, 혼동하여 SELECT하지 않도록 주의해야 한다. 맞게 작성한 것 같은데 혹여나 틀린다면, REPLY에서 가져와야 할 것은 BOARD에서 가져오..

[Lv.2 / 프로그래머스 / SQL] DATETIME에서 DATE로 형 변환

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (MySQL) DATETIME을 DATE형태로 변환하여 출력해야 한다. DATE() 함수를 사용할 경우 값은 DATE 형으로 바뀌나, 출력 형태에 시간이 남아있기 때문에 DATE_FORMAT을 사용해야 한다. SELECT ANIMAL_ID, NAME, DATE_FORMAT(DATETIME, "%Y-%m-%d") AS 날짜 FROM ANIMAL_INS ORDER BY ANIMAL_ID

[Lv.2 / 프로그래머스 / SQL] 자동차 평균 대여 기간 구하기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (MySQL) 대여 기간이 평균 7일 이상인 자동차의 ID와 그 평균 기간을 조회해야 한다. DATE 타입의 두 날짜의 차이를 구해야 하므로 DATEDIFF 함수를 사용했다. AVERAGE_DURATION이 7일 이상인 조건을 적어야 할 때, WHERE이 아닌 HAVING을 사용해야 함을 주의해야 한다. 관련 포스팅은 아래에 기재되어 있다. [SQL] Select절에 별칭(AS) 사용 후 Where절 Unknown Column 발생 이유 에러 메시지 SQL 오류 (1054): Unknown column ..

반응형