티스토리 뷰

1️⃣ 복수 국적 메달 수상한 선수 찾기

Q1. https://solvesql.com/problems/multiple-medalist/

 

solvesql

© Copyright 2021-2022 solvesql.com

solvesql.com

SELECT a.name
FROM records r LEFT JOIN teams t ON r.team_id = t.id
               LEFT JOIN athletes a ON r.athlete_id = a.id
               LEFT JOIN games g ON r.game_id = g.id
WHERE g.year >= 2000 AND r.medal IS NOT NULL
GROUP BY athlete_id
HAVING COUNT(distinct team) > 1

 

2️⃣ 있었는데요 없었습니다

Q2. https://programmers.co.kr/learn/courses/30/lessons/59043

 

코딩테스트 연습 - 있었는데요 없었습니다

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디

programmers.co.kr

 

SELECT ai.animal_id
     , ai.name
FROM animal_ins ai LEFT JOIN animal_outs ao ON ai.animal_id = ao.animal_id
WHERE ai.datetime > ao.datetime
ORDER BY ai.datetime

 

3️⃣ 헤비 유저가 소유한 장소

Q3. https://programmers.co.kr/learn/courses/30/lessons/77487

 

코딩테스트 연습 - 헤비 유저가 소유한 장소

PLACES 테이블은 공간 임대 서비스에 등록된 공간의 정보를 담은 테이블입니다. PLACES 테이블의 구조는 다음과 같으며 ID, NAME, HOST_ID는 각각 공간의 아이디, 이름, 공간을 소유한 유저의 아이디를

programmers.co.kr

 

SELECT p1.id
     , p1.name
     , p1.host_id
FROM PLACES p1 INNER JOIN (
    SELECT host_id, count(*) cnt
    FROM places
    GROUP BY host_id
) p2 ON p1.host_id = p2.host_id
WHERE p2.cnt > 1
ORDER BY p1.id

4️⃣ 상위 N개 레코드

Q4. https://programmers.co.kr/learn/courses/30/lessons/59405

 

코딩테스트 연습 - 상위 n개 레코드

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디

programmers.co.kr

SELECT name
FROM animal_ins
ORDER BY datetime asc
limit 1

 

5️⃣ 버뮤다 삼각지대에 들어가버린 택배

Q5. https://solvesql.com/problems/shipment-in-bermuda/

 

solvesql

© Copyright 2021-2022 solvesql.com

solvesql.com

SELECT date(order_delivered_carrier_date) as delivered_carrier_date
     , count(*) as orders
FROM olist_orders_dataset
WHERE order_delivered_customer_date is null 
  AND date(order_delivered_carrier_date) between '2017-01-01' and '2017-01-31' 
  AND order_delivered_carrier_date IS NOT NULL
GROUP BY date(order_delivered_carrier_date)
ORDER BY date(order_delivered_carrier_date)

 

댓글