반응형
문제 출처 :
https://leetcode.com/problems/rank-scores/
알고리즘 분석 :
문제 해결에 필요한 사항
1. Subquery
우선 Score와 Rank를 SELECT해야하는데 Rank는 subquery로 구해준다.
Score을 카운트 할 것인데 이때 s2.score >= s1.score인것만 구해준다.
즉, 예제에서 3.85보다 크거나 같은 것은 4.00 두개뿐이다
따라서 3.85의 rank는 2가 되는 것이다.
이런 식으로 subquery를 만들어주고 score 기준 내림차순 정렬해주면 정답을 구할 수 잇다.
소스 코드 :
1 2 3 4 5 6 7 | SELECT Score, ( SELECT COUNT(DISTINCT Score) FROM Scores AS S2 WHERE S2.Score >= S1.score ) AS Rank FROM Scores AS S1 ORDER BY Score DESC | cs |
반응형
'Applied > Database' 카테고리의 다른 글
[181번] Employees Earning More Than Their Managers (0) | 2019.05.24 |
---|---|
[180번] Consecutive Numbers (0) | 2019.05.16 |
[175번] Combine Two Tables (0) | 2019.04.27 |
데이터베이스 CHECK, DEFAULT (0) | 2018.08.24 |
데이터베이스 키 개념, 기본키, 외래키 (0) | 2018.08.22 |