728x90

SQL 74

[해커랭크] Top Competitors _ inner join

Top Competitors | HackerRank Top Competitors | HackerRank Query a list of top-scoring hackers. www.hackerrank.com mysql 해커랭크 hackerrank top competitors inner join할 때 difficulty 파트는 submissions가 아닌 challenges와 difficulty의 difficulty_level로 묶고 where 절을 s.score과 d.score로 묶는 게 중요한 파트라고 생각된다 select H.hacker_id, H.name from Submissions S inner join Challenges C on S.challenge_id = C.challenge_id inner..

SQL 2023.08.21

[해커랭크] New Companies _ left outer join

New Companies | HackerRank mysql hackerrank 해커랭크 new companies 처음에는 주어진 테이블들 다 left outer join했다가 사실상 필요한 테이블은 company 테이블과 employee 테이블이라는 것을 깨닫고 쿼리를 간소화시켰다 훨씬 보기좋고 효율적! select C.company_code, C.founder, count(distinct E.lead_manager_code), count(distinct E.senior_manager_code), count(distinct E.manager_code), count(distinct E.employee_code) from Company C left outer join Employee E on C.compan..

SQL 2023.08.21

[해커랭크] Interviews _ left join

Interviews | HackerRank Interviews | HackerRank find total number of view, total number of unique views, total number of submissions and total number of accepted submissions. www.hackerrank.com mysql hackerrank Interviews 문제 해커랭크에 join을 쓸 수 있는 문제가 여러 가지가 있는데 중첩 left join을 사용하고, sum으로 처리해야 하는 것들 두 개의 left join은 서브쿼리로 작성한다 엄청나게 헤맨 문제 이보다 조금 더 최적화할 수 있을 것 같은데 .. select C.contest_id, C.hacker_id, C...

SQL 2023.08.21

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

[프로그래머스] 자동차 대여 기록에서 장기/단기 대여 구분하기 mysql https://school.programmers.co.kr/learn/courses/30/lessons/151138 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr date_format 써서 연월일만 표시하는 거랑 case when 써서 단기/장기 구분하는게 중점 SELECT history_id, car_id, date_format(start_date, '%Y-%m-%d'), date_format(end_date, '%Y-%m-%d'), case when datediff(end_dat..

SQL 2023.08.01

[프로그래머스] 자동차 평균 대여 기간 구하기

[프로그래머스] 자동차 평균 대여 기간 구하기 mysql https://school.programmers.co.kr/learn/courses/30/lessons/157342 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr datediff 안써봐서 헤맸다 datediff(끝날짜, 시작날짜)! SELECT car_id, round(avg(DATEDIFF(end_date, start_date) + 1), 1) as AVERAGE_DURATION from car_rental_company_rental_history group by car_id having AVER..

SQL 2023.08.01

[프로그래머스] 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기

[프로그래머스] 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 mysql https://school.programmers.co.kr/learn/courses/30/lessons/164671 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr concat 구현까지는 했는데, 서브쿼리 쓸 생각은 못하고 계속 inner join절만 썼다.. 서브쿼리 연습하자 SELECT concat('/home/grep/src/', board_id, '/', file_id, file_name, file_ext) as file_path from used_goods_file ..

SQL 2023.07.29

[프로그래머스] 조건에 맞는 사용자와 총 거래금액 조회하기

[프로그래머스] 조건에 맞는 사용자와 총 거래금액 조회하기 mysql https://school.programmers.co.kr/learn/courses/30/lessons/164668 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr group by 연습 조금 더 하기! where 절에 sum 적었었는데 having을 쓰는 방법이.. SELECT B.user_id, B.nickname, sum(A.price) as total_sales from used_goods_board A inner join used_goods_user B on A.writer_id ..

SQL 2023.07.29

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

[프로그래머스] 조건에 부합하는 중고거래 상태 조회하기(L2) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr case when 사용해서 sale이면 판매중, reserved면 예약중, 아니면 거래완료 출력 where절 사용해서 created_dater가 2022-10-05인 것만 출력될 수 있게 SELECT board_id, writer_id, title, price, case when status = 'SALE' then '판매중' when status = 'RESERVED' then '예약중' else '거래완료' end as status from u..

SQL 2023.07.27

[프로그래머스] Datetime에서 Date로 형 변환

[프로그래머스] Datetime에서 Date로 형 변환 https://school.programmers.co.kr/learn/courses/30/lessons/59414#fn1 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr select절에서 시간까지 나와있는 datetime 열을 date_format을 이용해서 날짜까지만 추출하게 해준다 SELECT animal_id, name, date_format(datetime, '%Y-%m-%d') from animal_ins order by animal_id

SQL 2023.07.27

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

[프로그래머스] 오랜 기간 보호한 동물(2) https://school.programmers.co.kr/learn/courses/30/lessons/59411 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. animal_ins랑 animal_outs 를 inner join해준다 2. order by절에서 outs의 datetime과 ins의 datetime을 뺀 걸 desc해준다 3. limit 2로 제한하면 젤 긴 동물 2마리만 나온다 SELECT A.animal_id, A.name from animal_ins A inner join animal_o..

SQL 2023.07.27
728x90