• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

email 컬럼 중복 조건

23.06.25 18:11 작성 조회수 234

0

안녕하세요,강사님. 질문이 있어 글 남깁니다.

리트코드 문제에서 작성하신 서브쿼리는 Email을 가지고 GROUP BY를 하고 해당 GROUP BY에서 최소값을 가지는 ID를 조회하는 쿼리인데,

그럼 여기서 Email이 중복인지에 대한 조건은 따로 작성할 필요가 없는 것일까요? GROUP BY가 중복은 제외라는 의미도 포함되어 있는걸까요?

답변 1

답변을 작성해보세요.

0

해당 문제에서 요구하는 바는 Email이 중복되는 데이터를 제거하고 하나씩만 남겨야 하는데, 남기는 데이터의 id가 각 Email의 최소값이어야 한다는 것이었습니다.

Email 별 id 최소값을 찾는 과정이 포함되어야 하기 때문에 GROUP BY를 사용한 것이고, 이 때 그룹별로 데이터가 하나씩만 남게 됩니다. 만약 2개 이상의 id가 있었다면 그 중 가장 작은 값이 남게 되는 것이죠. 이렇게 찾은 그룹별 1개의 값(최소값)에 해당하지 않는 데이터는 삭제(DELETE)합니다.

GROUP BY에서 바로 중복 제거를 하는 것이 아니고, GROUP BY를 통해 얻은 데이터에 해당하지 않는 값을 지우는 과정에서 중복된 값이 사라집니다.