서브쿼리 해커랭스 Challenges 풀이
341
작성한 질문수 10
WITH COUNTER AS
SELECT H.hacker_id AS hacker_id, H.name AS name, COUNT(*) AS challenges_created
FROM Hackers AS H LEFT JOIN Challenges AS C ON H.hacker_id = C.hacker_id
GROUP BY hacker_id
SELECT hacker_id, name, challenges_created
FROM COUNTER
WHERE challenges_created NOT IN (SELECT challenges_created FROM(SELECT *
FROM COUNTER
GROUP BY challenges_created HAVING COUNT(*)>=2))
OR challenges_created >= (SELECT challenges_created FROM COUNTER ORDER BY challenges_created LIMIT 1)
ORDER BY challenges_created DESC, hacker_id;
이렇게 풀면 왜 답이 안나오는지 잘 모르겠습니다.ㅠㅠ
challenges_created값이 중복일때 제거해주는 부분 NOT IN 절에 오류가 있는 것 같ㅇ느데 어떤 부분이 틀린걸까요
답변 1
1
WITH 문은 괄호와 함께 써 주셔야 합니다. WITH AS ( SELECT 쿼리 )
WITH 문 쿼리와, NOT IN 절 쿼리 두 부분 모두 GROUP BY를 사용한 방법에 오류가 있습니다. GROUP BY로 그룹을 묶어주었을 때 SELECT 절에는 그룹을 묶는 기준 컬럼(GROUP BY 절에 쓴 컬럼)과, 그룹별로 적용된 집계함수(MAX, MIN, COUNT 등)만 쓸 수 있습니다.
그러므로 WITH 문 쿼리에서는 GROUP BY 절에 name도 같이 써 줘야 하고, NOT IN 절 쿼리에서는 SELECT *를 사용할 수 없습니다.
순위 함수 연습 문제 - 스테디셀러 작가 찾기
0
88
1
문제 내용이 잘못된 것 같습니다.
0
59
2
서브쿼리 질문
0
62
2
[수업질문] 서브쿼리 > null데이터 avg사용 주의
0
73
1
서브쿼리는 언제 작성하는건가요?
0
70
1
안녕하세요 질문드립니다.
0
66
2
Top Earners 문제관련 질문
0
97
2
고급반 cheetsheet
0
150
2
196. Delete Duplicate Emails 좋은 코드 질문
0
143
1
a.id = 1과 b.id=1이 없어도 되는 이유
0
128
0
강의 플랫폼
0
199
3
리트코드 177번 function 풀이중 case when 활용을 위한 서브쿼리 구문을 제출 시 검증에 통과되지 않도록 보강된 듯 하네요
0
206
2
ERD 읽는법에 추가 질문 있어요
0
252
1
lead, lag로 풀이할 시 id 값이 존재하지 않는 경우의 오답
0
360
2
사용자정의함수
0
230
1
이 문제 inner join이 이해가 안됩니다.
0
298
1
평균 함수 사용할 때 주의점과 해결법
0
262
1
196. subquery로 풀 때, 궁금한 점
0
386
2
쿼리성능 질문드립니다.
0
315
1
리트코드 highest department salary 문제
0
260
2
The report 문제 order by부분 질문
0
271
2
리트코드 서브쿼리 문제 질문
0
422
1
DEPARTMENT HIGHEST SALARY 서브쿼리 문제 문의
0
238
1
서브쿼리의 활용사례 및 조인관련질문
0
287
1





