데브허브 | DEVHUB | Contest Participation Rates - SQL Technical Interview QuestionContest Participation Rates - SQL Technical Interview Question
- SQL 기술 면접 문제로, 주어진 참가자 및 콘테스트 참가 테이블을 활용하여 각 콘테스트별 참가율을 계산하는 것이 핵심 과제입니다. 🎯
participants 테이블(참가자 ID, 이름)과 contest_entries 테이블(콘테스트 ID, 참가자 ID)이 입력 데이터로 제공됩니다. 📊
- 계산된 참가율은 소수점 둘째 자리까지 반올림해야 합니다. 🔢
- 결과는 참가율이 높은 순서(내림차순)로 정렬하고, 참가율이 동일할 경우 콘테스트 ID가 낮은 순서(오름차순)로 정렬해야 합니다. ↕️
- 각 콘테스트의 참가자 수를 세기 위해
COUNT(C.Participant_ID)를 사용하고, 전체 참가자 수(SELECT COUNT(*) FROM Participants)로 나누어 비율을 계산합니다. 🧑💻
- 정확한 비율 계산을 위해
CAST(... AS NUMERIC)를 사용하여 데이터 타입을 변환하는 과정이 중요합니다. 💡
ROUND(..., 2) 함수를 사용하여 요구사항에 맞춰 소수점 둘째 자리까지 반올림을 수행합니다. 📈
FROM Contest_Entries C GROUP BY C.Contest_ID 구문을 통해 각 콘테스트 ID별로 데이터를 집계합니다. 🧩
ORDER BY Percentage DESC, Contest_ID ASC를 사용하여 복합 정렬 조건을 만족시킵니다. 🏆
- 이 문제는
ROUND, COUNT, CAST, 서브쿼리, GROUP BY, ORDER BY 등 다양한 SQL 키워드와 개념에 대한 이해를 요구합니다. 📚