일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Numpy
- CBOW
- 딥러닝
- Stack
- Word2vec
- kakao
- PPMI
- SQL
- Python
- MySQL
- Heap
- 자연어처리
- boj
- affine
- select
- Programmers
- DeepLearning
- hash
- que
- 파이썬
- sort
- algorithm
- backward
- skip-gram
- 프로그래머스
- dl
- stak
- 신경망
- Sigmoid
- FullyConnectedLayer
- Today
- Total
혜온의 이것저것
[HackerRank] Interviews (MySQL) 본문
https://www.hackerrank.com/challenges/interviews/problem?isFullScreen=true
문제
Samantha interviews many candidates from different colleges using coding challenges and contests. Write a query to print the contest_id, hacker_id, name, and the sums of total_submissions, total_accepted_submissions, total_views, and total_unique_views for each contest sorted by contest_id. Exclude the contest from the result if all four sums are 0.
Note: A specific contest can be used to screen candidates at more than one college, but each college only holds 1 screening contest.
Input Format
The following tables hold interview data:
- Contests: The contest_id is the id of the contest, hacker_id is the id of the hacker who created the contest, and name is the name of the hacker.
- Colleges: The college_id is the id of the college, and contest_id is the id of the contest that Samantha used to screen the candidates.
- Challenges: The challenge_id is the id of the challenge that belongs to one of the contests whose contest_id Samantha forgot, and college_id is the id of the college where the challenge was given to candidates.
- View_Stats: The challenge_id is the id of the challenge, total_views is the number of times the challenge was viewed by candidates, and total_unique_views is the number of times the challenge was viewed by unique candidates.
- Submission_Stats: The challenge_id is the id of the challenge, total_submissions is the number of submissions for the challenge, and total_accepted_submission is the number of submissions that achieved full scores.
Sample Input
Contests Table:
Colleges Table:
Challenges Table:
View_Stats Table:
Submission_Stats Table:
Sample Output
66406 17973 Rose 111 39 156 56
66556 79153 Angela 0 0 11 10
94828 80275 Frank 150 38 41 15
Explanation
The contest 66406 is used in the college 11219. In this college 11219, challenges 18765 and 47127 are asked, so from the view and submission stats:
- Sum of total submissions = 27+56+28=111
- Sum of total accepted submissions = 10+18+11=39
- Sum of total views = 43+72+26+15=156
- Sum of total unique views 10+13+19+14=56
Similarly, we can find the sums for contests 66556 and 94828.
풀이
select contests.contest_id, contests.hacker_id, contests.name,
sum(total_submissions), sum(total_accepted_submissions), sum(total_views), sum(total_unique_views)
from contests
join colleges on contests.contest_id = colleges.contest_id
join challenges on colleges.college_id = challenges.college_id
left join (select challenge_id,
sum(total_views) as total_views,
sum(total_unique_views) as total_unique_views
from view_stats
group by challenge_id) vs
on challenges.challenge_id = vs.challenge_id
left join (select challenge_id,
sum(total_submissions) as total_submissions,
sum(total_accepted_submissions) as total_accepted_submissions
from submission_stats group by challenge_id) ss
on challenges.challenge_id = ss.challenge_id
group by contests.contest_id, contests.hacker_id, contests.name
having sum(total_submissions)!=0 or
sum(total_accepted_submissions)!=0 or
sum(total_views)!=0 or
sum(total_unique_views)!=0
order by contest_id;
'Data Analysis > SQL' 카테고리의 다른 글
[Programmers] SQL 고득점 kit - select 12세 이하인 여자 환자 목록 출력하기 (mysql) (0) | 2023.04.05 |
---|---|
[Programmers] SQL 고득점 kit select - 과일로 만든 아이스크림 고르기 (MySQL) (0) | 2023.04.04 |
[HackerRank] Symmetric Paris (MySQL) (0) | 2022.09.22 |
[HackerRank] Placements (MySQL) (0) | 2022.09.22 |
[HackerRank] SQL Project Planning (MySQL) (0) | 2022.09.13 |