반응형
with 문
MySQL에서는 WITH문으로 가상 테이블을 만들 수 있는데 작성방법은 다음과 같다.
WITH 가상테이블 명 AS
(
SELECT ~~
FROM ~~~
등등
)
이러한 방법은 전 글의
https://sunho99.tistory.com/entry/MySQL-Subquery%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EC%8B%AC%ED%99%94%EB%AC%B8%EC%A0%9C-Hacker-Rank-Challenges%ED%92%80%EC%96%B4%EB%B3%B4%EA%B8%B0
에 해당하는 문제를 풀때도 사용 할 수 있다.
WITH counter AS(
SELECT hackers.hacker_id,
hackers.name,
COUNT(*) AS challenges_created
FROM challenges
INNER JOIN Hackers ON Challenges.hacker_id = Hackers.hacker_id
GROUP BY hackers.hacker_id , hackers.name
)
SELECT counter.hacker_id,
counter.name,
counter.challenges_created
FROM counter
WHERE challenges_created = (SELECT MAX(challenges_created) FROM counter)
OR challenges_created IN (SELECT challenges_created)
FROM counter
GROUP BY challenges_created
HAVING COUNT(*) = 1)
ORDER BY counter.challenges_created DESC, counter.hacker_id
'SQL > MySQL' 카테고리의 다른 글
[MySQL] 조인조건이 특이한 문제 풀어보기 (Leetcode - Consecutive Numbers)풀어보기 (0) | 2022.02.23 |
---|---|
[MySQL] 조인조건이 특이한 문제 풀어보기 (Hacker Rank - The Report )풀어보기 (0) | 2022.02.23 |
[MySQL] Subquery를 이용한 심화문제 (Hacker Rank - Challenges)풀어보기 (0) | 2022.02.16 |
[MySQL] 서브쿼리 해커랭크(Top Earners), 리트코드(Department Highest Salary) 예제문제 풀어보기 (0) | 2022.02.14 |
[MySQL] 서브쿼리 ( Subquery) (0) | 2022.02.14 |